zoukankan      html  css  js  c++  java
  • 代码审计基础

    1. 环境准备:phpstudy来搭建web服务、sublime作为代码编辑器(notepad++和phpstorm等都可以)、fortity和rips:静态扫描工具、beyond compare文本比较工具、seay代码审计工具。
    2. 挖掘思路:
      1. 敏感函数回溯参数。高效,通过搜索敏感函数的关键字,快速挖掘想要的漏洞。但是难以发现逻辑漏洞。
      2. 通读全文代码。观察目录结构,根据文件名去看代码。例如upload、admin、sqlconnect等敏感文件。
      3. 根据功能审计。
        1. 文件上传功能。检查代码对上传功能点是否设置过滤,过滤是否严格。
        2. 文件管理功能。注意是否存在任意文件下载或者任意文件读取。
        3. 登陆认证功能。
        4. 找回密码功能。
      4. 根据函数判断。
        1. sql注入:addslashes函数  

          mysql_real_escape_string 

          intval等字符转换:int类型转换  

        2. xss
        3. 任意文件删除:rmdir-删除目录,unlink-删除文件
        4. 任意文件写入:copy:拷贝文件、file_put_contents、fputs、fwrite
        5. 任意文件操作
        6. 任意文件上传
        7. 命令注入:exec:执行一个外部程序、passthru:执行外部程序并显示原始输出、shell_exec:通过shell执行命令,并将输出通过字符串方式返回、system:执行外部程序,并显示输出、pcntl_exec:在当前进程空间执行指定程序、popen:通过popen()的参数执行一条命令,并对popen()打开的文件进行执行。
        8. 代码注入:eval、assert、call_user_func、call_user_func_array
        9. 变量覆盖:$$、parse_str、extract
  • 相关阅读:
    MySQL创建用户和权限管理
    自建单机MySQL数据库备份方案
    Elasticsearch 6.8.4 启动报错解决方法
    自定义 Generate POJOs.groovy
    SpingBoot —— RestTemplate的配置
    springboot —— 多数据源
    SpringBoot -- 计划任务
    SpingBoot —— 多线程
    SpringBoot -- 事件(Application Event)
    SpringBoot —— AOP注解式拦截与方法规则拦截
  • 原文地址:https://www.cnblogs.com/ly584521/p/12296483.html
Copyright © 2011-2022 走看看