SQL注入

tech2023-11-11  91

SQL注入

1、SQL注入的基本原理

SQL注入是指 web 应用程序对用户输入的数据合法性没有过滤或者是判断,前端传入的参数是攻击者可以控制,并且参数带入数据库的查询,攻击者可以通过构造恶意的 sql 语句来实现 对数据库的任意操作。

SQL注入可能存在的地方是与数据库有交互的地方:

​ 表单:post提交方式 URL:get提交方式

SQL注入的防范措施:对输入的内容进行过滤、字符串过滤、js函数检查是否包含非法函数、

2、信息收集

敏感目录和文件

​ 卸剑后台

​ dirbuster

​ payload:攻击载荷/exp(恶意语言)

3、SQL注入的攻击流程

注入点探测

自动漏洞扫描工具:AppScan、AWVS、OWASP ZAP、Burpsuite

手动方式:自己构造语句

自动与手工的区别:手动效率高,但容易误报;自动效率低

信息获取

获取权限

4、SQL注入类型的判断

整型参数的判断(以下三种结果全部满足则一定存在SQL注入漏洞 id=)

字段=1‘ 出错

字段=1 and 1=1 结果与字段=1一致

字段=1 and 1=2 出错

字符型参数的判断(以下三种条件全部满足则存在SQL注入)

2.字符型参数的判断(以下三种条件全部满足则存在SQL注入)

字段=1’ 报错

字段=1‘ and 1=1–+ 返回结果与字段=1一样

id=1’ and 1=2–+ 出错

(需要将字符型的引号进行成对:id=‘ ’)

对字符进行过滤:

数据库的注释:–空格 #(URL中要通过编码) 内联注释:/* id*/ 将语句中的语句给注释掉 强制内联:/*! id */

3、搜索型

5、MYSQL的网站注入,5.0以上和5.0以下的区别???

​ 5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。 ​ 5.0以下是多用户单操作,5.0以上是多用户多操做。

最新回复(0)