今天做了一道攻击redis的相关题目,以前没接触过。
初始界面有输入框,随便输入看看。
是urllib2相关库报错,去搜了搜发现是Python2的Urllib2头部注入(CVE-2016-5699)。那就看看这个cve。说是Python2.x 3.x的urllib/urllib2从数据解析到发包的整个流程中,均未对URL提供安全性过滤或检查.导致换行符可被插入到HTTP数据流,使攻击者可以注入额外的HTTP头和请求方法.可以看到报错的urllib版本是python2.7,那就说明可以利用。这里其实上是利用了CRLF的原理,回车换行的漏洞,攻击者一旦向请求行或首部中的字段注入恶意的CRLF,就能注入一些首部字段或报文主体,并在响应中输出。到这里我还没有任何思路,登录界面不论输入什么都是错误的。看了源码发现是redis,搜搜相关的漏洞,发现了redis的ssrf漏洞,那就可以构造crlf利用ssrf来修改admin的密码,来达到登录获取到flag。这里看到一些相关我文章做参考。
https://blog.csdn.net/cd_xuyue/article/details/51760340
因为之前没接触过redis,,去搜搜看如何修改密码。
这里我不太明白wp中为什么不适用config set而是直接使用set。那么构造好的payload:
点击查看代码
http://127.0.0.1%0d%0aset%20admin%20123456%0d%0a:6379
总结:
- CRLF的利用
- urllib http头部注入的相关漏洞
- redis SSRF漏洞