第三屆4.29“安恆杯”網絡安全技術大賽初賽wirteup心得-WEB


writeup地址:

http://www.easyaq.org/info/infoLink?id=851212685&from=groupmessage&isappinstalled=0

 

WEB1

解題第一步驟,我發現了username和uid根本就是加密了。。當時就一個勁的想怎么解admin。。原來題目的漏洞在於uid啊,,,我覺得這篇講的很好,里面的python語句也寫得挺好:http://www.tuicool.com/articles/N3iIBzN

總體來講就是,uid是可以隨意更改的,但是必須要求三位,而事實上admin的id<10 所以問題就在怎么登陸個位數的id啦。。 6-- 或者6abc..

 

WEB2

首先,找到可寫目錄,這個要慢慢試

然后,寫一句話代碼,可以先放入數據庫,也可以直接寫進去

select xxx into outfile ‘var/www/…’

然后菜刀連接,可以去查查目錄里面有沒有

 

WEB3

反序列化題,對我來講是很新的知識點

大致的該題的思路見:http://www.tuicool.com/articles/BfuayyI

index.php網頁有一句這樣的話:image

這個頁面下,session的序列化方法是php,查看phpinfo.php發現,session默認的序列方法是php_serialize(php>=5.5.4) 關於他們的區別:

php
鍵名 + 豎線 + 經過 serialize() 函數反序列處理的值

php_binary
鍵名的長度對應的 ASCII 字符 + 鍵名 + 經過 serialize() 函數反序列處理的值

php_serialize
(php>=5.5.4)經過 serialize() 函數反序列處理的數組

當兩個網頁使用不同的序列化函數,bug就產生了

在一般情況下,該攻擊的實現需要一個網頁去構造序列化參數,然后另一個頁面以另一種反序列化方式讀取它,導致執行。但是我們這個題目,根本沒有session的讀取。。

所以,我們要自己創造。。

image

這是官網上給出的代碼,根據phpinfo.php的信息,發現session.upload_progress.enabled是打開的,也就是文件任意上傳。然后我們就上傳一個文件,然后php就會給我們創建一個session,為了控制上傳進度,具體可以看:http://php.net/manual/zh/session.upload-progress.php

問題就剩下,怎么構建漏洞與語句了,官網writeup也是給了(注意標點的中英文):

用抓包軟件修改上傳數據包,將filename修改為filename=”|O:4:/”foo1/”:1:{s:4:/”varr/”;O:4:/”foo2/”:2:{s:4:/”varr/”;s:1:/”1/”;s:3:/”obj/”;O:4:/”foo3/”:1:{s:4:/”varr/”;s:30:/”system(/”ls -a /var/www/html/”);/”;}}}”

訪問index.php,列出文件目錄,找出flag文件。

再次抓包上傳,filename修改為filename=”|O:4:/”foo1/”:1:{s:4:/”varr/”;O:4:/”foo2/”:2:{s:4:/”varr/”;s:1:/”1/”;s:3:/”obj/”;O:4:/”foo3/”:1:{s:4:/”varr/”;s:27:/”system(/”cat flag_xxx.php/”);/”;}}}”

訪問index.php獲取flag


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM