OWASP TOP 10 web安全威胁---A.注入攻击

A.注入攻击

A1.SQL注入

原理:

当应用程序将用户输入的内容拼接到SQL语句中,一起提交给数据库执行时,就会产生SQL注入威胁。

判断是否存在SQL注入漏洞语句:

and 1=2/and 1=1

SQL注入分类:

  1. 数字型
  2. 字符型
  3. 报错注入
  4. 布尔型盲注
  5. 基于时间的盲注

宽字节注入:

addslashes()对'转义为\'

  1. 吃掉\
  2. 构造\\

防御措施:

  1. 采用PDO技术,划清代码与数据的界限。
  2. 在web应用服务器前部署WAF设备。

WAF绕过:

1.白盒绕过(分析代码)

2.黑盒绕过

      1》寻找源网站真实地址,针对云WAF(有CDN节点)

                        1)ping判断是否有

                        2)注册绕过

                        3)国外ip访问

      2》渗透同网段其它主机,类似C段渗透。

      3》POST上传较大数据绕过检测。

      4》注释符、空白符、大小写、双写、替换和报错注入等。

3.fuzz测试(burp suite配合手工测试,成功后用工具跑)

A2.XML注入

原理:

通过利用闭合标签改写XML文件。

漏洞利用:

后台XML源代码:

<?xml version="1.0" encoding="utf-8" ?>

<USER>

  <user Account="admin">用户输入</user>

<user Account="root">root</user>

</USER>

攻击者在用户输入字段中输入:

admin</user><user Account="hacker">hacker

最终修改结果为:

<?xml version="1.0" encoding="utf-8" ?>

<USER>

  <user Account="admin">admin</user>

  <user Account="hacker">hacker</user>

<user Account="root">root</user>

</USER>

攻击者通过XML注入添加一个管理员账户

XML注入两大要素:

标签闭合和获取XML表结构

A3.Command Injection(命令行注入)

原理:

通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。

漏洞利用:

Command 1 && Command 2

先执行Command 1,执行成功后执行Command 2,否则不执行Command 2。

Command 1&Command 2

先执行Command 1,不管是否成功,都会执行Command 2。

Command 1 | Command 2

“|”是管道符,表示将Command 1的输出作为Command 2的输入,并且只打印Command 2执行的结果。

防御措施:

代码加入Anti-CSRF token,同时对参数ip进行严格的限制,只有诸如“数字.数字.数字.数字”的输入才会被接收执行。

posted @ 2020-05-25 14:39  强霸卓奇霸  阅读(366)  评论(0)    收藏  举报
https://blog-static.cnblogs.com/files/xiaokang01/js.js 这是添加的文件的链接 color="240,230,140" 粒子的颜色设置 opacity="1" 粒子的透明度 count="75" 粒子的个数