MYSQL SQL注入 (5)

MYSQL SQL注入

宽字节注入原理

程序员为了防止sql注入 ,对用户输入中的单引号(')进行处理,在单引号前加上斜杠()进行转义 ,这样被处理后的sql语句中,单引号不再具有'作用',仅仅是内容'而已。

换句话说,这个单引号无法发挥和前后单引号闭合的作用 ,仅仅成为内容。

MYSQL SQL注入

宽字节注入方法

黑盒

    - 在注入点后键入%df ,然后按照正常的注入流程开始注入

    - 注意:前一个字符的ascii码要大于128 ,两个字符才能组合成汉字

MYSQL SQL注入

白盒

    1. 查看MySql编码是否为GBK 格式

    2. 是否使用了 preg_replace() 函数把单引号替换成'

    3. 是否使用了 addslashes() 函数进行转义

    4. 是否使用了 **mysql_real_escape_string() ** 函数进行转义

MYSQL SQL注入

http 头注入

常见http头中可能被污染的参数有这些

MYSQL SQL注入

HTTP头注入的重要性

MYSQL SQL注入

http头注入概述

什么是HTTP头注入?

    - web程序代码中把用户提交的HTTP请求包的头信息未做过滤就直接带入到数据库中执行

HTTP头注入的检测方法

    - 通过修改参数 来判断是否存在漏洞

造成HTTP头注入的原因

    1. 在网站代码中的ip字段与数据库有交互

    2. 代码中使用了php超全局变量$_SERVER[ ]

如何修复HTTP头注入?

    1. 在设置HTTP响应头的代码中,过滤回车换行 (%0d%0a、%0D%0A)字符。

    2. 不采用有漏洞版本的 apache服务器

    3. 对参数做合法性校验以及长度限制 ,谨慎的根据用户所传入参数做http返回包的header设置

MYSQL SQL注入

二次编码注入

url编码概述

url编码形式

MYSQL SQL注入

为什么要进行url编码?

MYSQL SQL注入

url编码作用

MYSQL SQL注入

二次编码注入原理

    相关函数:urldecode() , rawurldecode()

    原理:

MYSQL SQL注入

base64注入

base64编码概述

MYSQL SQL注入

base64注入原理

针对传递的参数被base64加密后的注入点进行注入 ,这种方式常用来绕过一些WAF 的检测。

base64注入方法

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjfjy.html