题目
- 1、文件包含
- (1)DVWA环境下去包含其他目录的任意3个文件,要求使用相对路径
- (2)远程文件包含
- (3)中间件日志包合绕过,要求使用蚁剑连接成功
- 2、CSRF
- (1)DVWA-High等级
- (2)使用Burp生成CSRF利用POC
- 3、SSRF(fle get content),要求获取ssrf.php的源码
- 4、思考题
- (1)从cookie的利用方式出发,XSS和CSRF有什么区别?
- (2)文件包含、目录遍历、SSRF的区别是什么?
1、文件包含
1.1 相对路径文件包含
1.2 远程文件包含
远程服务器准备一个文件,txt文件中的代码被执行
1.3 中间件绕过
page参数中植入一句话木马,通过burpsuite将编码内容修改之后转发,一句话木马将会被记录到log文件中
http://192.168.110.129:8081/vulnerabilities/fi/?page=/var/log/apache2/access.log
中可以看到log中有一句话木马信息
通过f12获取cookie信息,使用蚁剑结合cookie连接一句话木马
2、CSRF
2.1 DVWA-high
利用xss获取目标的cookie
<img src=# onerror=alert(document.cookie)>
PHPSESSID=31kq941gfjo31fttdo0h9o4kn3; security=low
(2)抓包,修改密码
对下图数据包进行修改,删除token属性,修改cookie为刚才获取的目标cookie,security属性改为low
使用修改后的密码进行登录
2.2 BP生成CSRF利用POC
右击-->engagement tools-->generate CSRF PoC(参与工具--生成CSRF PoC),自动生成poc html
右上角option中可以选择自动提交请求功能
利用该html可以修改信息
3、SSRF
file_get_contents里面带有php:filter我们用它就可以读取php源码,构造url
http://url/vul/ssrf/ssrf_fgc.php?file=php://filter/resource=ssrf.php(会被解析)
http://url/vul/ssrf/ssrf_fgc.php?file=php://filter/resource=/etc/passwd
http://url/vul/ssrf/ssrf_fgc.php?file=php://filter/read=convert.base64-encode/resource=ssrf.php
php文件被解析了,需要对代码做一层编码,不让它解析,拿到之后在进行解码,就可以拿到网站源代码,在read参数中添加convert.base64-encode
将得到的编码用base64解码后得到源码
四、思考题
4.1 从cookie的利用方式出发,XSS和CSRF有什么区别
xss:可以盗取cookie,不需要用户进行登录,攻击者可以利用cookie进行账号登录、篡改网页等
csrf:必须基于cookie的会话,需要用户登录,攻击者无法获取cookie,借助已登陆账号的cookie进行操作。
4.2 文件包含、目录遍历、SSRF的区别是什么
文件包含:必须包含一个文件,包含本地或攻击机的文件,执行被包含的文件
目录遍历:类似文件包含,但不一定是一个文件,可以是一个路径,输出攻击机的目录内容,中间件配置产生的问题,属于网站本身的缺陷
SSRF:可以借助服务器获取攻击机的信息以及内网其他服务器的信息,是具体的url
从URL角度较难判断三者的区别