白帽子阅读笔记——SQL注入

本文详细介绍了SQL注入攻击的原理、类型和常见手法,包括盲注、布尔注入、联合注入等。同时,讲解了通过MySQL的BENCHMARK()函数进行盲注,以及利用存储过程和UDF执行系统命令。防御SQL注入的方法包括预编译语句、存储过程、数据类型检查和安全函数。此外,还提到了其他类型的注入,如XML注入、代码注入和CRLF注入,并推荐了SQLmap工具进行自动化检测。
摘要由CSDN通过智能技术生成

盲注:服务器没有错误回显时完成的注入攻击

利用了BENCHMARK()函数,该函数用于测试函数性能,利用该函数可以让同一个函数执行若干次,根据返回时间长短变化,判断是否执行成功

通过payload猜测出SQL的版本;

尽量数据库账号时,应该遵循”最小权限原则“

如果要将文件读出后,将结果返回给攻击者,首先需要当前数据库用户有创建表的权限,首先通过LOAD_FILE()将系统文件读出,在通过INTODUMPFILE将该文件写入系统,通过LOAD DATA INFLE将文件导入创建的表中;

除了可以使用INTO DUMPFILE还可以使用INTO OUTFILE,区别在于DUMP FILE 适用于二进制文件,outfile适用于文本文件;写入文件的技巧在于导出一个webshell

 

MYSQL

通过命令执行 UDF(User-Defined Functions)执行命令

通过lib_mysqlludf_sys提供的几个函数执行系统命令,主要是sys_eval()和sys_exec()

sys_eval() 执行任意命令,将输出返回

sys_exec()执行任意命令,将推出码返回

sys_get 获取一个环境变量

sys_set 创建或修改一个环境变量

 

在MS SQL Server中 可以直接使用存储过程”“xp_cmdshell”执行系统命令

 

攻击存储过程

MS SQL Server中 可以直接使用存储过程”“xp_cmdshell”执行系统命令

 

编码问题:统一数据库、操作系统、web应用所使用的字符集,避免各层对字符的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值