# 其他注入方法
都是面对php代码或配置,对输入的单引号进行转义时,在处理用户输入数据时存在问题,可以绕过转义
## 宽字节注入
dbk处理编码的过程存在问题,可以构造数据消灭转义符`\`
### 宽字节注入原理
在对单双引号进行了转义过滤的情况下,前面的注入方式都不好使,但可以在引号前加上`%df`再进行sql注入尝试
它的原理是
1. `\'`编码后的值为`%5C%27`
2. 使用GBK编码数据库时,两个字符为一个汉字
2. ASCII码只有128个,大于128的,就会和第二个字符组成一个汉字
3. 使用`%df\'`,编码后为`%df%5C%27`
第一个码大于128,因此会使用前两个字符`運`,最后单剩一个引号
即编码后的值为`運'`
4. 然后就可以正常进行sql注入了
### 宽字节注入方法
黑盒测试的话:在可能的注入点后,键入`%df'`后,进行测试
白合测试的话:
1. 查看mysql编码是否为GBK
2. 是否使用`preg_replace`转换单引号为`\'`
3. 是否使用addslashes进行转义
4. 是否使用mysql_real_escape_string进行转义
### 宽字节注入防范
1. 使用utf-8,可以避免宽字节注入
不仅在gbk中,韩文、日文等都是宽字节
2. 使用`mysql_real_escape_string`方法转义
需同时设置`mysql_set_charset('gbk',$conn)`
3. 可以设置mysql连接参数:`character_set_clinet=binary`
## 二次编码注入
php代码中用了urldecode()等编码函数,对url中的特殊字符进行编码,可以利用此函数与php自身编码转换,产生漏洞
### 二次编码注入原理
1. 用户输入`id=1%27`,会被php转码为`id=1'`
2. 转义代码发现有单引号,转义为`id=1\'`,无法sql注入
3. 用户输入`id=1%2527`,由于%25转码后就是%,因而会转码为`id=1%27`
4. 转义代码没有发现单引号,故不转义
5. 但后续urldecode等函数,处理url时,会将`id=1%27`转码为`id=1'`,就可以注入
注意:如果做白盒测试,要看urldecode函数 是否在转义方法之后
## 二次注入
### 二次注入原理
1. 插入恶意数据
有些程序在进行数据库插入的时候,仅仅对特殊字符进行了转义,但仍然将数据写入了数据库,如果插入的数据包含恶意内容的话
2. 引用恶意数据
在插入到数据库中后,在另外的地方查询该数据的时候,如果没有对取出的数据做校验处理(即认为可信),直接使用该数据,就会造成sql二次注入
### 二次注入举例
举例1如下:
1. 新建用户`admin'#`,有特殊字符,但写入成功,并能使用该用户登录
2. 正常修改用户密码时
sql语句如是:`update user set password='1234' where username='x' and psssword='xx'`
3. 但当用户为`admin'#`时
sql语句变为:`update user set password='1234' where username='admin'#' and xxxxx`
明显井号后的语句都被注释掉了
4. 结果就是会修改掉原有用户admin的密码
举例2如下:
1. 有两个页面,一个页面写入数据,另一个页面可以有办法查看该数据
2. 如果写入时,写入了`xx' union select 1,database(),3`
3. 如果存在sql注入漏洞,写入的数据应该为`1,库名,3`
4. 在另一个页面就可以看到该库名数据
### 二次注入防御
1. 对外部提交的数,需要更加谨慎处理,特殊字符不写入
2. 程序内部的数据调用,也要进行严格检查,不要认为可信
- src导航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查询
- 备案信息查询
- 信用信息查询
- IP反查站点的站
- 浏览器插件
- 收集子域名信息
- 在线平台
- 工具枚举
- ssl与证书透明度
- DNS历史解析
- DNS域传送漏洞
- C段探测
- JS文件域名&ip探测
- 搜索引擎&情报社区
- google黑客
- 威胁情报
- 钟馗之眼
- 收集相关应用信息
- 微信公众号&微博
- APP收集&反编译
- 收集常用端口信息
- 常见端口&解析&总结
- 扫描工具
- 网络空间引擎搜索
- 浏览器插件
- nmap扫描
- 收集敏感信息
- 源码泄露
- 邮箱信息收集
- 备份文件泄露
- 目录&后台扫描
- 公网网盘
- 历史资产
- 指纹&WAF&CDN识别
- 指纹识别
- CDN识别
- 绕过CDN查找真实IP
- WAF识别
- 漏洞资源和社工
- 漏洞公共资源库
- 社会工程
- 资产梳理
- 各种对渗透有帮助的平台
- 扫描器
- 扫描器对比
- AppScan(IBM)_web和系统
- AWVS_web扫描
- X-Scan_系统扫描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_绿盟_web
- 安恒明鉴
- Nessus_系统
- nexpose_系统
- 启明天镜_web_系统
- SQL注入
- 常用函数
- sql注入步骤
- union注入和information_schema库
- 函数和报错注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解决方案
- Access数据库注入
- MSSQL数据库注入
- MYSQL数据库注入
- 神器SQLmap
- xss跨站脚本攻击
- xss原理和分类
- xss案例和修复
- xss绕过技巧
- xss案例
- 文件上传下载包含
- 常有用文件路径
- 文件上传漏洞
- 文件下载漏洞
- 文件包含漏洞
- upload-labs上传漏洞练习
- XXE、SSRF、CSRF
- SSRF原理基础
- SSRF案例实战
- CSRF原理基础
- CSRF案例及防范
- XXE之XML_DTD基础
- XXE之payload与修复
- XXE结合SSRF
- 远程命令执行与反序列化
- 远程命令和代码执行漏洞
- 反序列化漏洞
- 验证码与暴力破解
- 爆破与验证码原理
- CS架构暴力破解
- BS架构暴力破解
- WEB编辑器漏洞
- 编辑器漏洞基础
- Ewebeditor编辑器
- FCKeditor编辑器
- 其他编辑器
- web中间件漏洞
- 中间件解析漏洞
- Tomcat常见的漏洞总结
- Jboss漏洞利用总结
- Weblogic漏洞利用总结
- WEB具体步骤
- 旁注和越权
- CDN绕过
- 越权与逻辑漏洞
- WEB应用常见其他漏洞
- WEB登陆页面渗透思路
- 获取WEBshell思路
- 社工、钓鱼、apt
- 社工和信息收集
- 域名欺骗
- 钓鱼邮件
- 一些钓鱼用的挂马工具
- 代码审计
- 代码审计工具
- WAF绕过
- WAF基础及云WAF
- 各种WAF绕过方法
- 绕过WAF上传文件
- 系统提权
- windows系统提权
- linux系统提权
- 数据库提权操作系统
- 内网横向渗透
- 内网穿透方式
- 一些内网第三方应用提权
- ARP与DOS
- ARP欺骗
- DOS与DDOS
- 一些DOS工具