A注入攻击
A1.SQL注入
原理:
当应用程序将用户输入的内容拼接到SQL语句中,一起提交给数据库执行时,就会产生SQL注入威胁。
判断是否存在SQL注入漏洞语句:
and 1=2/and 1=1
SQL注入分类:
- 数字型
- 字符型
- 报错注入
- 布尔型盲注
- 基于时间的盲注
宽字节注入:
addslashes()对'转义为\'
- 吃掉\
- 构造\\
SQL注入防御:
- 采用PDO技术,划清代码与数据的界限。
- 在web应用服务器前部署WAF设备。
WAF绕过:
1.白盒绕过(分析代码)
2.黑盒绕过
1》寻找源网站真实地址,针对云WAF(有CDN节点)
1)ping判断是否有
2)注册绕过
3)国外ip访问
2》渗透同网段其它主机,类似C段渗透。
3》POST上传较大数据绕过检测。
4》注释符、空白符、大小写、双写、替换和报错注入等。
3.fuzz测试(burp suite配合手工测试,成功后用工具跑)
A2.XXE(XML外部实体注入)
原理:
攻击者通过向服务器注入指定的xml实体内容,从而让服务器按照指定的配置进行执行,导致问题。
也就是说服务器端接收和解析了来自用户端的xml数据,而又没有做严格的安全控制,从而导致xml外部实体注入。
漏洞产生原因:
XML文档格式的第二部分DTD存在XXE漏洞。
DTD外部引用可支持http、file、ftp等协议。
没有对接受的XML数据做任何安全上的措施。
漏洞利用:
获取http://192.168.18.21/Less49.txt文件信息。
输入
<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY f SYSTEM "http://192.168.18.21/Less49.txt">
]>
<x>&f;</x>