Open wsxk opened 5 months ago
https://wsxk.github.io/web_learn2/
前言
注入攻击
7.1 SQL注入
7.1.1 盲注(Blind Injection) 7.1.2 Timing Attack
7.2 数据库攻击技巧
前言 书接上回https://wsxk.github.io/web_learn/ 前面主要讲的是浏览器的安全问题,这回主要讲服务端应用安全
count是指定函数执行的次数,expr是指定函数执行的内容。 因此,利用BENCHMARK()函数,可以让同一个函数执行若干次,使得结果返回的时间比平时要长;通过时间长短的变化,可以判断出注入语句是否执行成功。
7.2 数据库攻击技巧 SQL注入是基于数据库的一种攻击。不同的数据库有着不同的功能、不同的语法和函数,因此针对不同的数据库,SQL注入的技巧也有所不同。
利用sql注入猜测数据库版本,确认表名、列名是否存在等等(可以用自动化工具 sqlmap.py来执行)
在注入攻击的过程中,常常会用到一些读写文件的技巧。比如在MySQL 中,就可以通过LOAD_FILE()读取系统文件,并通过INTODUMPFILE写入 本地文件。当然这要求当前数据库用户有读写系统相应文件或目录的权限。
以利用“用户自定义函数”的技巧,即UDF(User-Defined Functions)来执行命令。
https://wsxk.github.io/web_learn2/
前言
注入攻击
7.1 SQL注入
7.2 数据库攻击技巧
前言 书接上回https://wsxk.github.io/web_learn/ 前面主要讲的是浏览器的安全问题,这回主要讲服务端应用安全
count是指定函数执行的次数,expr是指定函数执行的内容。 因此,利用BENCHMARK()函数,可以让同一个函数执行若干次,使得结果返回的时间比平时要长;通过时间长短的变化,可以判断出注入语句是否执行成功。
7.2 数据库攻击技巧 SQL注入是基于数据库的一种攻击。不同的数据库有着不同的功能、不同的语法和函数,因此针对不同的数据库,SQL注入的技巧也有所不同。
利用sql注入猜测数据库版本,确认表名、列名是否存在等等(可以用自动化工具 sqlmap.py来执行)
在注入攻击的过程中,常常会用到一些读写文件的技巧。比如在MySQL 中,就可以通过LOAD_FILE()读取系统文件,并通过INTODUMPFILE写入 本地文件。当然这要求当前数据库用户有读写系统相应文件或目录的权限。
以利用“用户自定义函数”的技巧,即UDF(User-Defined Functions)来执行命令。