MENU

SSRF攻击测试

July 23, 2016 • Security

ssrf攻击原理:

1.png

使用curl处理用户请求,并展示用户请求的结果

2.png

用户提交请求端

3.png

端口扫描

正常情况下,请求http://www.test.com/test/baimaozi/ssrf/robots.txt 返回结果如下

4.png

如果请求非http服务的端口,比如:

http://www.test.com:3306/test/baimaozi/ssrf/robots.txt 会返回banner信息

http://www.test.com:3306/test/baimaozi/ssrf/robots.txt

5.png

请求8080端口tomcat

http://www.test.com:8080/test/baimaozi/ssrf/robots.txt

6.png

请求关闭的端口会报错

http://www.test.com:801/test/baimaozi/ssrf/robots.txt

7.png

攻击应用程序

内网web应用指纹识别

识别tomcat

http://www.test.com:8080/manager/images/tomcat.gif

8.png

读取本地文件

file:///C:/Windows/win.ini

9.png

如何防御

通常有以下5个思路:

1,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某

一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。

2, 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

3,限制请求的端口为http常用的端口,比如,80,443,8080,8090。

4,黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。

5,禁用不需要的协议。仅仅允许http和http请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。

Tags: ssrf
Archives QR Code
QR Code for this page
Tipping QR Code