前一陣子成了小洋人,所以很長的時間也沒更新了,今天更一篇PHP代碼審計的吧,此次分享的內(nèi)容十分的簡單,大家簡單的看看即可
命令注入 -1
從上述代碼,我們可以看出來,$ip變量接收過來之后通過合并運算符(??)判斷是不是空,是空的話就返回114.114.114.114,否則就返回變量本身,說實話,這里并沒有看到對ip參數(shù)的任何形式的過濾,但是這里的的確確是修復了。
而后 n u m 變量、 num 變量、 num變量、time變量以及$bit變量,在接收出來之后都進行了強制類型轉(zhuǎn)換(int),所以并沒有任何毛病。
但是**$net變量只是將&、&&、|、||以及;**進行替換為空,但是沒有過濾%,這就導致命令注入漏洞的一個繞過
我們看一下命令注入的效果
顯而易見,我們注入成功了,原諒厚碼和角圖
命令注入 -2
首先我們可以看到,代碼中圈出來的地方,首先校驗數(shù)據(jù)存在與否,如果不存在的話會直接存到數(shù)據(jù)庫里面
而這里就可圈可點了,存進數(shù)據(jù)庫之后,他沒有經(jīng)過任何的處理就直接拿出來了,并且利用nat_exec()函數(shù)進行執(zhí)行,由于這里是無回顯的注入,所以我們騷操作一把
命令注入 -3
刪除nat配置的時候,會在數(shù)據(jù)庫里面搜索對應的nat配置,而后將搜索到的nat配置直接使用nat_del_exec();進行刪除操作,但是在刪除的過程中,oldInfo變量與array()數(shù)組并沒有進行任何形式的過濾,導致命令注入漏洞的產(chǎn)生。
我們先刪除第一個配置,刪除成功后,其實也就順帶執(zhí)行了 ls -ll命令
我們接著刪除第二個配置,也就順帶執(zhí)行了 rm 命令
難道是不難,我覺得這種是十分明顯的命令注入,筆者同時還找到了幾處相似的洞,但是沒復現(xiàn)出來,因為找不到接口,這個代碼寫的不是很好,你說他是MVC架構吧,他還真就不是,但是你說他不是MVC吧,偏偏還魔改了。。。。。。菜是原罪文章來源:http://www.zghlxwxcb.cn/news/detail-408493.html
僅僅幾率一次測試的技巧,如果侵權,請私信我,我會刪除?文章來源地址http://www.zghlxwxcb.cn/news/detail-408493.html
到了這里,關于記一次簡單的白加黑測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!