zoukankan      html  css  js  c++  java
  • 代码审计系列篇二之渗透技巧

    渗透技巧对于代码审计的意义在哪?
    我们知道代码审计的流程中有漏洞发现及payload构造,有的时候在漏洞发现阶段灰盒测试比源代码审计的速度更快效率更高,源代码审计,你得看代码吧,而灰盒测试时,测试语句以上,漏洞就发现了。payload的出现是为了证明漏洞的存在,而payload构造,单单作为一个开发程序员,或者渗透技巧菜鸟即便明白攻击原理,在漏洞证明时,也不一定能够证明出来。为什么?有一些奇葩的写法,是开发程序员或渗透技巧的菜鸟不曾接触过的,或者说你渗透经验不足,是不太可能能够证明漏洞存在的。这时候渗透技巧就显得尤为重要。
    代码端渗透测试技巧的掌握是对各种漏洞类型的灰盒测试,遇到的各种环境,条件,限制越多,你的渗透技巧就越丰富。
    这里举一下常规漏洞类型有哪些。
    注入类型  
            sql注入
                    回显注入
                            union注入 报错注入 宽字节注入 二次注入 插入/修改/删除型注入...
                    无回显注入
                            延时注入  盲注  利用DNS注入...
            XML注入
            XPATH注入
            json注入
            CRLF注入
            header头注入(tip:例如 xff注入 ip注入等)
    XSS跨站请求攻击
            存储型
            反射型
            DOM型
    CSRF跨站请求伪造
            POST型
            GET型
    文件类型漏洞
            上传漏洞
                    截断00 
                    不同中间件的解析(for:IIS/6.0/7.0/7.5/nginx/apache...)
                    黑名单绕过
                    ../绕过
                    竞争条件漏洞
                    文件参数修改绕过
            文件删除漏洞
            文件包含漏洞
                    远程包含
                    本地包含
                    伪协议
            文件下载漏洞
    执行漏洞
            代码执行
            命令执行
    变量覆盖漏洞
    URL跳转
    SSRF服务器请求伪造
    SSTI 服务端模板注入
    反序列化
    XXE
    信息泄露

    逻辑漏洞有:
    支付绕过
    验证码绕过
    忘记密码绕过
    登录绕过
    订单篡改
    越权漏洞
    session/cookie 身份认证绕过
    请求重放
    弱Token设计缺陷绕过
    如果往细里划分还有很多
    还有我没写的 大家补充
    还有其他相关的,如数据库特性
    当然 在灰盒黑盒测试时,能用工具的 就别手工了,解放双手很重要。
    不单说每一种类型漏洞,仅仅每一种漏洞都有各种各样的常规技巧及“奇淫绝技”来辅助我们去进行代码审计中漏洞挖掘后的漏洞证明,足以感受到渗透技巧在代码审计中的重要性。在今后我们在对每一种漏洞剖析时,都会尽可能的去提及各种渗透技巧。

  • 相关阅读:
    MySQL数据库之索引
    python面向对象编程
    linux端口占用
    lintcode
    java基础
    lintcode
    linux 常用命令
    Docker & Kubernates
    angular preparation
    java 命令行
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/10083249.html
Copyright © 2011-2022 走看看