<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Web400

    最開始拿到題目:http://118.190.113.111:10080/index.php?act=user的時候挺沒有頭緒的

    一開始以為是ssrf摸內網,又發現好像有上傳,各種嘗試302打進去探測端口,發現都挺奇怪的,一直沒get到考點

    后來發現有一個redirect.php,會重定向

    于是在photo url處嘗試了一下

    http://118.190.113.111:10080/redirect.php?redirect=file:///etc/passwd

    但是這里會被waf攔下,只允許通過.jpg和.png的結尾,于是嘗試00截斷

    如下:

    發現可以成功讀取到內容

    于是拿下源碼進行分析(以下為本地測試,vps就打碼了,畢竟是隊友的)

    在login.php里

    如果是本地訪問的話,token才會為1

    在common.php中

    可以發現debug的值為1會返回http頭數據

    于是猜想利用redirect.php請問,偽造本地登錄

    http://118.190.113.111:10080/redirect.php?redirect=login.php?username=1&password=1.jpg

    這樣是不是就可以達到本地登錄的目的了呢?

    (注:這里有個小坑,需要2次url編碼,所以payload如下)

    注意到源碼中debug為1的時候會返回http頭數據,跟進$result去處

    可見http頭被寫入了圖片中,于是我們去訪問剛才生成的圖片

    可以看到我們需要的http頭數據,里面就有我們需要的phpsession

    將自己的phpsessionid改成這個

    可見我們已經用haozi登錄成功了

    看upload.php

    發現過濾并沒有過濾.inc,并且token為1才可以上傳

    而我們注意到

    這里的spl_autoload_register();

    我們測試一下

    發現是可以解析.inc的

    于是想到上次一個.inc文件

    自己寫了一個上傳


    再寫了一個ls.inc

    <?php

    system(‘ls’);

    ?>

    于是上傳

    發現上傳成功

    注:記得改一下Content-Type否則過不了waf

    此時利用

    我們可以構造序列化

    然后利用include參數包含路徑

    于是綜合payload如下:

    命令執行成功。

    總結一下:

    1.利用重定向+00截斷讀源碼

    2.利用重定向+debug獲得本地登錄的phpsessionid

    3.上傳.inc結尾的惡意文件

    4.利用spl_autoload_register()的文件包含+cookie反序列化執行命令

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类