系列文章第二篇,本篇实验带干扰的mysql注入。
经过实验发现这是针对字符型变量才成立,如果是整型变量如id,加了引号之后无论再1后加任何字符都能查到1对应的结果,猜测可能是溢出了,具体还没有研究,希望各位不吝赐教。
绕过原理:闭合符号!!!!!
1. 单引号干扰
正常情况下:
插入测试语句后:
绕过:闭合单引号
tip:
闭合后,要在语句最后进行注释最后的引号。
对于mysql有两种方法:
(1)#;
(2)--空格,这里用--+会注释无效,语法错误。
2. 双引号干扰
正常情况下:
插入注入语句:
绕过:闭合双引号
敲黑板!!要注释!!
3. 圆括号干扰
正常情况下:
注入语句后:
闭合绕过:
tip: 闭合位置不同的有趣现象
先上结论吧:
这点我觉得是可以利用的,我们可以直接构造false逻辑来获得整张表的内容。
起源于我选择闭合语句的最后位置:
4. 通配符干扰(通常出现再搜索功能中)
正常情况下:
插入语句后:
闭合绕过:
判断干扰方法提炼
第一招——变量值后加(单或双)引号后注释,结果正常则确认为符号型;否则,要么是整型要么有括号,进行第二招尝试;
第二招——变量值后加(单或双)引号后右括号再注释,结果正常则确认有括号干扰;否则可能是整型变量,进行第三招;
第三招——变量值后加随意英文字符,结果正常则为整型。
若以上失败,则可能有过滤机制,此时只能先判断过滤机制尝试绕过。
内容预计将在系列篇章三进行实验。
本篇至此结束。感谢各位的阅读,小白一枚,肯定还有很多疏漏需要补充学习,欢迎意见和建议,也欢迎您的补充和纠正。