sql注入
分类
依据获取信息的方式分类
联合查询注入
报错注入
盲注
布尔
时间
特殊注入
宽字节注入
二次编码注入
二阶注入
堆叠注入
其他类型的注入
值得注意的是,挖这一类要小心再小心,不然慧翅捞饭的
insert
update
delete
原因
用户可控的输入未经严格过滤拼接到了sql中,导致恶意sql被执行
危害
信息泄漏
信息篡改
远程控制,木马
挖掘
手动测试的一般步骤
实现网站正常功能
测试闭合符号
注入
报敏感信息
利用
mysql
元数据
information_schema
schmata
schema_name数据库名
tables
table_name表名
columns
column_name列名
数据库
SELECT NULL, schema_name FROM information_schema.schemata–
表名
SELECT NULL, table_name FROM information_schema.tables WHERE table_schema = ‘your_database_name’–
列名
SELECT NULL, column_name FROM information_schema.columns WHERE table_name = ‘your_table_name’–
查询注入点列数
group by 2 –
查找回显位
union select 1,2,3,4
常用函数
USER()
CONCAT()
CURRENT_USER()
VERSION()
报错注入
foor
updatexml(1,concat(1,(sql)),1)
extractvalue(0x0a,concat(0x0a,(sql)))
盲注用
SUBSTRING()
LEFT()
CHAR_LENGTH()
LENGTH()
ASCII()
防御
白名单
只允许用户传入变量为某些特定值,如只允许数字
黑名单
过滤恶意字符
pdo预处理