常见漏洞审计之php危险函数总结

  • A+
所属分类:代码审计
常见漏洞审计之php危险函数总结

猫爪子的诱惑〜关注我呀〜

上一篇文章带大家认识了一下代码审计,这一篇从较为简单的PHP入手讲讲常存在风险的函数

代码执行

  • 执行代码函数:

  • eval()
    assert()
    preg_replace()
    create_function()
    array_map()
    call_user_func()
    call_user_func_array()
    array_filter
    usort
    uasort()

常见漏洞审计之php危险函数总结
常见漏洞审计之php危险函数总结

命令执行

  • 命令执行函数:

  • system()
    exec()
    shell_exec()
    passthru()
    pcntl_exec()
    popen()
    proc_open()

常见漏洞审计之php危险函数总结

文件包含

分别对应路径,文件名,后缀。根据服务端采取的不同策略,我们也可能会有不同的绕过方法。

  • 文件包含函数:

  • require
    include
    require_ once
    include once

常见漏洞审计之php危险函数总结

任意文件读取

  • 文件读取函数:

  • copy
    file_get_contents()
    highlight_file()
    fopen()
    read file()
    fread()
    fgetss()
    fgets()
    parse_ini_file()
    show_source()
    file()

常见漏洞审计之php危险函数总结

特殊函数

  • 信息泄漏函数:

  • bool phpinfo()

软连接读取文件内容

常见漏洞审计之php危险函数总结

XSS

  • 存储型xss

  • 将数据插入到数据库中
    重点审计 update insert 等sql语句

  • 反射型xss

  • 将数据输出到页面中
    重点审计 echo print_r 等输出语句

越权

  • 水平越权:

  • 就是相同级别(权限)的用户或者同一角色不同的用户之间,可以越权访问、修改或者删除的非法操作。如果出现次漏洞,那么将可能会造成大批量数据泄露,严重的甚至会造成用户信息被恶意篡改。

  • 垂直越权:

  • 垂直越权是不同级别之间或不同角色之间的越权;垂直越权又别分为向上越权与向下越权。比如,某些网站,像发布文章、删除文章等操作属于管理员该做的事情。假设一个匿名用户也可以做相同的事情,这就叫做向上越权;向下越权是一个高级用户可以访问低级用户信息。

POST或GET请求中有可控参数

XXE

  • PHP SimpleXML 函数:

  • __construct()
    addAttribute()
    addChild()
    asXML()
    attributes()
    children()
    getDocNamespaces()
    getName()
    getNamespaces()
    registerXPathNamespace()
    simplexml_import_dom()
    simplexml_load_file()
    simplexml_load_string()
    xpath()

sql注入

  • 搜索:

  • select from
    mysql_connect
    mysql_query
    update
    delete
    insert
    urldecode
    rawurldecode

反序列化

漏洞原理:unserialize函数的变量可控,php文件中存在可利用的类,类中有魔术方法。

  • 序列化函数:

  • serialize()

  • 反序列化函数:

  • unserialize()

  • 魔术函数

  • __construc()
    __destruct()
    __call()
    __callStatic()
    __get()
    __set()
    __isset()
    __unset()
    __sleep()
    __wakeup()
    __toString()
    __invoke()
    __set_state()
    __clone()
    __debuginfo()

还有一些绕过登录密码验证码以及账单支付等逻辑漏洞需根据个人经验进行审计,以后有机会再出实战教学


常见漏洞审计之php危险函数总结

点个赞,证明你还爱我



本文始发于微信公众号(爱国小白帽):常见漏洞审计之php危险函数总结

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: