SSRF+XSS
Last updated on 6 months ago
SSRF
(Server-Side Request Forgery)
服务器请求伪造
ssrf有两种,一种是常规ssrf,另一种是blind ssrf(盲ssrf)
常见ssrf防御
黑名单
云服务器可能会把127.0.0.1和localhost列进黑名单拒绝访问(看不明白),可以用其他方式绕过这个限制来访问,比如0、0.0.0.0、0000、127.1、2130706433、017700000001,127.0.0.1.nip.io,
这些都是dns解析成127.0.0.1,但是没有上黑名单的
http://169.254.169.254 这个是Amazon AWS(不知道是不是特有的)的服务器存储敏感数据的地址
白名单
例如参数中使用的 URL 必须以https://website.thm开头的规则
绕过方式是在对应域名建立子域名绕过(能给别人的域名建子域名不早打进去了吗)
重定向
实际操作
这个房间真的做的乱七八糟的,感觉很拉跨
/private这个目录不允许访问,在更改头像页面,发现头像来自于网站内部,所有头像更改的请求那里可以获得/private的内容,所以图片的路径value更改成private,但是被拒绝访问,使用x/../private即可绕过,这里的x填啥都可以,可以说y,可以是z,也可以是abc,不知道这里是因为thm房间特意允许的还是别的原因,正常来说应该是该目录下一个实际存在的文件+/../private
XSS
Cross-site Scripting
按理来说应该简写成css的,但已经有了,所以叫xss<script>alert('XSS');</script>
有alert则证明有xss,即POC
反射性xss
用户在浏览器内的输入内容会不经过滤直接回显到浏览器,这里就可以执行
存储型xss
保存在服务器内的数据,比如评论
dom型xss
利用js事件形成xss
payload
很基础的六个类型,有空还得再找靶场练,总之就是凑<> ; "" ''
这样的,要么就是大小写绕过,或者双写绕过之类的
实际操作
1 |
|
别的没啥值得说的,就一个类似反弹shell的东西