日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

http路径转file会变成反斜杠_PHP session反序列化漏洞

發布時間:2025/4/16 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 http路径转file会变成反斜杠_PHP session反序列化漏洞 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近有點忙,有空學習一下 感覺似懂非懂,今晚來刷個題,驗證一下我的一些想法

入口:http://web.jarvisoj.com:32784/index.php?

是一個反序列化的題,源碼中

只是判斷是否set了phpinfo 如果有就輸出phpinfo,所以說這是關于session的題

session反序列化漏洞的原理網上有,總結一下就是兩次處理會話的session引擎不同,一個是php 一個是php serialize,而session_start()函數的定義如下:

就是如果存在現有會話,就重用,而重用的方式是從默認的session存儲文件里將數據反序列化得出,如果存儲使用php serialize 而反序列化取回數據用的是php 那這就導致了問題

接著題目講,題目中沒有給出寫入session 的方法,這就很尷尬了。。看了前輩的wp ,原來有個叫session 上傳進度的東西

當PHP檢測到同名post請求 就會再$_SESSION中添加一條數據 看來就是用這個來寫session的

那就搞一個文件上傳的同時再post一個請求:

將filename 改成 poc

poc 得到

,得到當前目錄信息

這里為什么改filename的值,不改其他的值,開始我也不太懂 后來查了PHP手冊,

例子中上傳的是兩個文件,如果一個文件的化,就能看出了,filename的鍵值對被寫進入了 所以這里修改的是filename的值

再說下這個poc ,查看phpinfo得知

前面是local 后面是master

一開始上傳session那個地方是使用php_serialize的,后來執行php的腳本,就變成了php的引擎 ,再重用上傳的會話,用php引擎反序列化后,就會導致了問題 ,這是我的理解

講下poc ,就是php_serialize引擎在處理session時會識別 | 這個字符,但是php引擎則會把 |

當成鍵值對的分隔符,所以用phpserialize處理過的session來給php反序列,就會得到問題,具體在這里體現就是實例化了一個類,完了又自動調用__destruct,,具體原理可以百度,很多前輩都寫了

|O:5:"OowoO":1:{s:4:"mdzz";s:36:"print_r(scandir(dirname(__FILE__)));";} (為了防止"被轉義 加了)

這個 | 后面,用php引擎解釋實際上就是new OowoO() ,print_r(scandir(dirname(__FILE__)))就是mdzz 瑪德智障嗎 哈哈 為什么不用system ,因為disable了

后面還有,沒截到

查到了當前目錄的flag文件,接下來就是換命令了,當前目錄在哪

當前目錄

整個流程補完

在如何寫入session 和調用session 那地方感覺還是一知半解,總結就是摳腳

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的http路径转file会变成反斜杠_PHP session反序列化漏洞的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。