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
  • 相关阅读:
    Nodejs-内置核心模块&npm包管理工具

    python 内置函数
    序列化和反序列化(json 和pickle)dumps 为序列化, json为反序列化
    迭代器iter()
    生成器 yield
    装饰器的解释说明
    面向过程中的局部变量(global)
    函数的参数设定
    集合的基本操作
  • 原文地址:https://www.cnblogs.com/ly584521/p/12296483.html
Copyright © 2011-2022 走看看