关于信息安全

关于信息安全

最近学习了很多安全方面的知识,对于系统的漏洞、攻击手段等有了一些浅薄的了解。

总的来说,学习如何去通过这些漏洞对目标主机进行攻击,也是在学习如何在开发过程中做到尽量少的漏洞,维护项目安全性。

学习的东西很多,还没有整理过。感觉有点乱。抽时间来整理一下,把一些小项目记录一下。

突然一下子学习了很多东西,不过大多是如何使用,对于其中的原理并没有过于深究,只是知道这些步骤的效果而已。

跟着老师们把 dvwa、pikachu、bWAPP 这些平台逛了个遍,不过大致的功能是相同的,都是作为一个虚拟平台,让你去练习对各个漏洞的攻击,个人感觉其中做的最好的是 dvwa。因为他设置了 4 个等级。等级越高,这个漏洞的攻击实现越困难,到最后的 Impossible。可以去看他的处理源代码,去学习怎么规避这个漏洞。

下面说一下一些常见漏洞的特点以及攻击方法。

XXE

xxe 是指 xml 外部实体攻击,简而言之,是通过 xml 的一些特点,去获取到该网站目录下的其他文件。

首先是如何识别这个网站存在 xxe 的漏洞

通过对请求包抓包并修改其中的头部信息,查看服务器是否会正常解析其中的 xml 代码。如果会的话就说明是存在 xxe 漏洞的。

通过在头部信息添加

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE copyright[
<!ENTITY name SYSTEM "http://127.0.0.1/xxe.txt">
]>
<reset>
<login>&name;</login>
<secret>login;</secret>
</reset>

可以看到返回结果中已经返回了该文本的内容。

同理,xxe 可以实现文件读取、命令执行、内网端口扫描、攻击内网网站、发起 dos 攻击等攻击手段。

XSS

xss 被称为跨站脚本攻击,有存储型、反射型和 DOM 型

存储型是指通过输入框输入 js 脚本并在服务器运行存入数据库。后面再有人访问该页面就会触发这个脚本。

反射性是指提交了 js 脚本后直接反馈在后台管理员页面。获取管理员身份。

DOM 型指构造一个 url,使得有人点击这个 url 后会触发执行 js 脚本盗取信息。

该漏洞是由于对输入框输入的检查不够严格所导致的。

SQL 注入

注入和 xss 有一些相似的地方,都是因为对输入检查不够严格,导致别有用心的人可以通过命令对服务器做出损害,SQL 注入是利用了服务器在访问数据库时,会把键入的关键字添加进 SQL 语句中,通过提前对 sql 语句闭合,使得 sql 语句可以执行其他命令,并在回显的地方展示。

比较难的是有的网站可能有这个漏洞,但是没有回显的地方,就会比较麻烦。似乎是只能尝试暴力的破解,将数据库名、表名破解出来,但是也还是获取不到数据内容。

靶机

通过 kali 作为攻击平台,攻击自己的虚拟机。一步一步拿到管理员权限。

该过程比较重要的点是拿到 shell,通过反弹 shell 拿到服务器的终端,再通过系统漏洞提权获取管理员身份。

是通过集合前面所提到的攻击手段,利用服务器配置的漏洞,拿到服务器的 shell。不过如果实战起来感觉运气成分很大。


其他的内容并没有很多了。这里也只是做一个简单的总结,具体的实验步骤感觉没什么讲的。信息安全方向是一个很大的范围,需要学习的东西很多很杂。

比如 Linux 的配置、汇编语言也要有一些了解、逆向工程不理解的地方也有很多。

需要我去慢慢了解、学习、认知。

关于信安或者 CTF 竞赛相关可能不会去主动学习了。一是太难了,二是现在入门太晚了,不适合吧重心放在这个上面伤脑筋。