目录
ssrf简介
SSRF(Server-Side Request Forgery:服务器端请求伪造)
其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。
SSRF(curl)
点击这个连接,可以看见这个数据是从其它服务器连接过来的。
当我们改变url后面的参数时,它也是可以正常访问的,它这里不做一些安全措施的话,我们就可以进一步的干一些坏事了。
1.后端代码分析
这里我们是由于实验,先看一下后端的代码是怎么写的
前端传进来的url被后台使用curl_exec()进行了请求,然后将请求的结果又返回给了前端。
2.http协议连接本地文件
我们也可以发现可以访问这个服务器根路径文件。
3.file协议读取C盘中的文件。
这里我们通过file协议,把这个服务器当作本机一样,读取盘中的数据,也可以读取出来。
4.dict协议扫描内网其他主机的端口开放情况
我们再进一步,通过dict协议试探一下服务器的端口开放情况。
可以看见,这里有回显,只是我们没有权限,但我们已经知道了这个服务器有开放数据库的3306端口。
5.使用burp扫描内网其他主机的端口开放情况
抓包,并把抓到的包发送到攻击模块,进行端口探测。
可以看见,根据返回的长度不同,就可以看见服务器所开放的端口有哪些,就比如3306端口。
到这里,第一关就差不多好了。