zoukankan      html  css  js  c++  java
  • eval代码执行漏洞

    payload :POST传入search.php文件

    searchword=if{searchpage:year}&year=:e{searchpage:area}&area=v{searchpage:letter}&letter=al{searchpage:lang}&lang=(join{searchpage:jq}&jq=($_P{searchpage:ver}&ver=OST[9]))

    漏洞代码:

    结合payload来说,就是if{searchpage:year}替换成if:e{searchpage:area}再替换成if:ev{searchpage:letter}然后最后替换成if:eval(join($_POST[9]))。总的来说,就是if{searchpage:year}将中括号里的内容替换成year里的内容,其他同理。

    继续跟进代码:

    ctrl右键跟进

     来到另外一个文件,看到parseif方法,审计以下parseif方法,直接看重点。开头判断$content是否存在{if:},存在继续往下走,没有存在直接跳出函数。往下走遇到preg_match_all($labelRule,$content,$iar);,正则匹配,将结果放回给$iar,继续跟进代码,发现for循环中有eval危险函数,关注eval函数。if判断,$strThen是否存在于$labelRule2,不存在继续往下走。又有一个if,判断$strThen中是否有$labelRule3,如果有则进入eval函数,执行$content中的内容。

  • 相关阅读:
    第8章 字符串
    第7章 方法
    第6章 类和对象
    第5章 数组
    第4章 循环结构、break与continue
    第3章 选择结构
    第2章 变量、数据类型和运算符
    Codeforces Round #426 (Div. 2)
    CCNA学前基础一
    Tinkoff Challenge
  • 原文地址:https://www.cnblogs.com/aptkekeo/p/13953640.html
Copyright © 2011-2022 走看看