day25_kls

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预处理

绕过防御

SQL注入针对关键字过滤的绕过技巧 zu1k