Python的潜在SSRF参数扫描工具See-SURF

博主:阿柯阿柯 2年前 ( 2020-03-07 ) 870 0条评论

See-SURF

See-SURF是一款基于python开发的扫描工具,它可以辅助平安研究人员查找并发现目的Web应用程序中潜在的SSRF参数。

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者组织形成由服务端提议请求的一个平安破绽。一样平常情况下,SSRF是要目的网站的内部系统。(由于他是从内部系统接见的,所有可以通过它攻击外网无法接见的内部系统,也就是把目的网站当中间人)

SSRF 形成的缘故原由大都是由于服务端提供了从其他服务器应用获取数据的功效,且没有对目的地址做过滤与限制。比如从指定url地址获取网页文本内容,加载指定地址的图片,文档,等等。

在Web平安领域中,SSRF毫无疑问已经成为了一种严重的平安破绽,然则行业内貌似我没看到有工具能够自动查找这种类型破绽参数的工具。因此,See-SURF便应运而生,它可以辅助我们在举行破绽搜索或Web平安测试时,提供很大的辅助。

工具依赖

Python 3

功效先容

1、可以吸收Burp的sitemap作为输入,并使用壮大的正则表达式匹配语句来剖析文件,并匹配任何包罗了潜在SSRF破绽关键词的GET/POST URL参数,比如说URL或站点信息等等。除此之外,它还可以检测随便URL或IP地址中的参数值。下面给出的是可剖析的样本GET请求去:

google.com/url=https://yahoo.com

google.com/q=https://yahoo.com

FORMS -

<input type="text" name="url" value="https://google.com" placeholder="https://msn.com">

复制


2、内置多线程网络爬虫,能够尽可能多地网络数据,并剖析和识别潜在的SSRF参数。

3、提供了Cookie以便支持认证扫描。

4、默认设置下,工具已通例模式运行,开启Verbose模式后,我们将能够查看到差别终端节点的种种破绽参数。样例如下:

https://google.com/path/1/urlToConnect=https://yahoo.com

https://google.com/differentpath/urlToConnect=https://yahoo.com

5、破绽行使:向Burp Collaboraor或其他HTTP服务器发送包罗破绽参数的外部请求,以确认SSRF破绽的有效性。

工具安装

git clonehttps://github.com/In3tinct/See-SURF.git

cd See-SURF/

pip3 install BeautifulSoup4

pip3 install requests

工具使用

下面这条下令将以默认线程=10的设置运行See-SURF,未开启cookie/session,未开启Verbose模式:

python3 see-surf.py -H https://www.google.com

复制


提供Cookie,以空格离隔,实现认证会话爬取:

python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2

复制


开启Verbose模式,设置Cookie:

python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -t 20 -v

复制


其他使用样例:

https://google.com/abc/1/urlToConnect=https://yahoo.com

https://google.com/123/urlToConnect=https://yahoo.com

黑帽SEO自学网 友情提醒您:文本摘自于网络!用于研究学习!请勿用于非法用途!在采用学习之前 务必阅读本站 【免责申明

Burp使用样例

Burp Sitemap(-b和-p)

完整的下令样例:

python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -b burp_file.xml -p http://72.72.72.72:8000

复制


-b参数可以提供Burp Sitemap文件,以便更好地发现潜在的SSRF参数。这个剧本首先回剖析Burp文件,并实验查找潜在的参数,然后针对目的运行内置的爬虫。

在BurpSuite中查看待剖析目的,发送某些GET/POST请求,数目越多越好。然后点击“Target”标签,右键点击“Save selected Items”,然后保留。提供的剧本运行参数如下:

python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -b burp_file.xml

复制



Python的潜在SSRF参数扫描工具See-SURF  第1张

-p参数将会开启BurpSuite Collaborator,并向主机通报-p参数,或者开启一个Python Http服务器,并守候破绽参数以执行请求。此时,Payload将会带参数执行,参考样例如下:

python3 see-surf.py -H https://www.google.com -c cookie_name1=value1 cookie_name2=value2 -p http://72.72.72.72:8000

复制


Python的潜在SSRF参数扫描工具See-SURF  第2张

工具运行截图

Python的潜在SSRF参数扫描工具See-SURF  第3张

许可证协议

See-SURF的开发与公布遵照GNU v3开源许可证协议。

项目地址

See-SURF:【GitHub传送门

黑帽SEO自学网 友情提醒您:文本摘自于网络!用于研究学习!请勿用于非法用途!在采用学习之前 务必阅读本站 【免责申明

The End

发布于:2020-03-07,除非注明,否则均为黑帽SEO自学网_黑帽SEO与SEO优化黑帽教程技术学习『阿柯』原创文章,转载请注明出处。