今天正式开启网络安全学习的记录之路,这一系列会不定期更新,喜欢的朋友可以持续关注。
前言
第一个记录的安全漏洞是常见的文件包含漏洞,原理很枯燥,通过实验学习效果更好。
时间环境:
- DVWA 环境(通过安装owasp实现)
- win7虚拟机(为了安全,尽量在虚拟机上完成)
- 一台web服务器(推荐阿里云的轻量级应用服务器)
工具:
- edjpgcom(将木马代码写进图片的工具)
- 中国菜刀(功夫再高,也怕菜刀)
原理
先设置DVWA的安全等级为“low”:
找到文件包含的选项:
为了更好地使用代码的重用性,引入了文件包含函数,可以通过文件包含函数将文件包含进来,直接使用包含文件的代码。在包含文件时候,为了灵活包含文件,将被包含文件设置为变量,通过动态变量来引入需要包含的文件时,用户可以对变量的值可控而服务器端未对变量值进行合理地校验或者校验被绕过,这样就导致了文件包含漏洞。通常文件包含漏洞出现在PHP语言中。
根据以上原理,结合此网页的URL:
以及网站的源代码:
尝试修改URL中“page”的值为一般linux系统中都存在的文件路径,如:
结果为:
如图,/etc/passwd的内容也显示了出来,表明被执行,那么既然可以通过这种方式访问服务器中的其他文件,那么我们自己上传到服务器中的文件当然也可以通过这种方式执行,如果我们上传的这个文件是个木马程序呢???(是不是很刺激)
下面介绍通过文件上传和文件包含漏洞来获取服务器管理员权限的方式
本地包含漏洞
1. 构造一句话木马,并写入一个图片中,参考这个方法,这里选择的图片应该尽量小,最好小于10k,写好以后,通过dvwa的“Upload”方式进行上传,如图:
2. 上传以后,查看图片:
3. 查看在将此图片包含在页面中:
4.可以看到是一大串乱码,这里面包含着木马的代码,这里就表明这个木马可以被执行,并已经被执行,可以看到一句话木马已经上传到了服务器中,如图:
5. 加下来就是使用中国菜刀工具进行连接,如图:
连接以后如图:
如图可以看到整个服务器的目录结构,并对其进行操作,也就是拿到了服务器的管理员权限。
远程包含漏洞
远程包含,顾名思义就是通过包含远程的木马文件来执行,这个远程可以是远程的服务器,如图,在一个web服务器中写入一个能够生成木马的文件,如图,访问:
如图,远程访问:
生成木马:
然后再使用中国菜刀连接即可!!