SQL Injection7(宽字节注入2)
前言
前面结合sqli的32关卡初步理解了宽字节注入方法与原理
这里再结合sqli剩下的宽字节注入关卡(33,34,35,36,37)进行一个巩固和学习
练习
Less-33
这个我试了下,结果发现和Less-32完全一样啊,按照Less-32方法来完全可行
这里可以看我的上一篇博客,注入方法完全一样
我查了下两关的区别,主要在于转义这一块,32用的是自己定义的函数进行的转义主要在\ , ', ",前面加上\符号转义,33用的是自带的addslashes()函数多了一个队NULL空字符的转义
sqlmap也是用前面的方法就能成功注入
Less-34
本关是一个用户名密码登录的界面,然后是post传参
可以看到提示我们在用户名和密码后面加上’后被转义成了\’。
后面再用hackbar来提交就有点问题,主要%df它传过去不是%df,变成%C3%9F,我也很迷怎么会变成这个别的都没变,所以这里用burp直接抓包改
这里用到sql万能密码,也就是对方查询数据库用的是select * from tablename where username = ‘’ and password = ‘’ 这样的查询语句,所以username我们写成1‘ or 1=1#这样的语句,查询条件就变成永真(不同情况要单独考虑)。
如上图修改后,我们就得到下图的返回
可以看到已经显示登录成功了,而且返回了用户名和密码,这就给了下一步注入的空间
首先还是来确定字段%d