I春秋——web Write up(一)
前言:總結一下最近做的web題,從題中可以學習到很多知識。
爆破-1
給了一段PHP代碼,里面還有簡單的正則表達式,那就來分析一下。
/表示的是正則表達式的開始和結束,^或\A 匹配字符串開始位置,\w匹配任意數字或字母或下劃線(a-z,A-Z,0-9,_),*匹配0次、或1次、或多次其前面的字符(相當于可以輸入多個字符、數字、或下劃線),$或者\Z匹配字符串的結束位置。所以在這里我們輸入hello可以執行
提示有說flag在某個變量中,還觀察到var_dump($$a),可以使用超全局變量$GLOBALS,直接在url中構造?hello=GLOBALS即可flag。
做題小結:這道題之所以能夠用超全局變量,就是因為輸出時又多了一個$,利用它構造一系列超全局變量,得出我們想要的信息。
$_SERVER 這種超全局變量保存關于報頭、路徑和腳本位置的信息 $_REQUEST 用于收集 HTML 表單提交的數據 $_POST 廣泛用于收集提交 method="post" 的 HTML 表單后的表單數據。 $_GET 也可用于收集提交 HTML 表單 (method="get") 之后的表單數據爆破-2
提示說flag不在變量中,用$GLOBALS查看果然不在。
不在變量中,那就查flag.php文件,查到一個file_get_contents() 函數可以把整個文件讀入一個字符串中。
除此之外,我們還可以用另一個函數file()函數。
即可得出flag
還可以
做題小結:通過上面三種方法,利用三種不同的函數,都可以得出flag,下面就區分一下他們之間的區別。
爆破-3
給了一串php代碼,分析一下
前兩個if語句簡單,重要的是如下語句
$value = $_REQUEST['value']; $str_rand = range('a', 'z'); $str_rands = $str_rand[mt_rand(0,25)].$str_rand[mt_rand(0,25)];$str_rand會從a到z中隨機取一個字母。$str_rand[mt_rand(0,25)].$str_rand[mt_rand(0,25)]會拼湊成兩個字母賦值給$str_rands。
然后就來觀察以下代碼
很明了了,因為$_SESSION['nums'] = 0,我們只需將上面的if語句循環十次(即$_SESSION['nums']++循環十次),即可得出flag。
接下來就來構造語句,一開始的$_SESSION['whoami'] = ‘ea’,因此就構造
?value[0]=e&value[1]=a又因為每執行一次,$_SESSION['whoami']會變化而且值與$str_rands相同,并且每執行一次都會輸出$str_rands的值,因此只要按照這個順序輸入十次即可得出flag。
當然可以也可以寫一個腳本來做這道題,但是我們還漏掉了一個很重要的細節就是substr(md5($value),5,4)==0,這個有什么作用那?可以寫一個簡單的腳本來測試一下看看
以數組的形式傳入
所以剛才只要用數組進行傳參就沒有問題。
當然我們分析一下就可以知道這個條件在數組的情況下永遠為真,因為在數組的情況下是不能MD5加密的,所以肯定==0.
也可以寫一個腳本來跑出flag,恰好最近在學python,參考大佬自己也模仿寫一下
import requests url='http://8e7202f5492447d5ab76eb8b7e8b4b27838e55901eba4c5f.changame.ichunqiu.com' # 創建一個session對象 session=requests.Session() # 發送請求 html=session.get(url+'?value[]=ea').text for i in range(10):html=session.get(url+'?value[]='+ html[0:2]).text print(html)得到flag
做題小結:web題有很多解法,但最基礎的是一定要會寫腳本,得加快進度學習python了
python中requests.session的妙用
python學習之-requests模塊基礎
requests session的作用
Upload
看到文件上傳,就想起來用一句話木馬+菜刀,那就來先構造一句話木馬。
上傳
顯示上傳成功,我們來查看一下上傳之后的php文件
把<?php給過濾了,那換一種方法,在大佬的博客上發現繞過<?限制的一句話
拿來試試
發現php被過濾掉了,那就將php改為大寫PHP試試
沒有顯示,說明已經傳進去了,菜刀連接
通過源代碼可以知道上傳路徑,連接即可得出flag。
做題小結:和XSS一樣,一句話木馬也有很多繞過姿勢,有空一定要總結一下一句話各種繞過姿勢,最后附上大佬博客。
PHP一句話木馬后門
一句話木馬的套路
那些強悍的PHP一句話后門
總結
以上是生活随笔為你收集整理的I春秋——web Write up(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019安恒七月月赛——MISC
- 下一篇: 实验吧— Crypto Write up