BUUCTF web題解合集(二)

2021-10-08 10:25:53 字數 3698 閱讀 2368

'/geturl'

, methods=

['get'

,'post'])

2def

geturl()

:3 url = request.args.get(

"url"

)4 host = parse.urlparse(url)

.hostname

5#解析url,賦值hostname

6if host ==

'suctf.cc':7

return

"我扌 your problem? 111"

8 parts =

list

(urlsplit(url))9

#list() 方法用於將元組轉換為列表。

10#parse.urlprase方法 將url分為6個部分,返回乙個包含6個字串專案的元組:協議、位置、路徑、引數、查詢、片段。

12#其中 scheme 是協議 netloc 是網域名稱伺服器 path 相對路徑 params是引數,query是查詢的條件

13 host = parts[1]

14if host ==

'suctf.cc':15

return

"我扌 your problem? 222 "

+ host

16 newhost =

17for h in host.split(

'.'):18

# split() 通過指定分隔符對字串進行切片,如果引數 num 有指定值,則分隔 num+1 個子字串,返回分割後的字串列表。

'idna'

).decode(

'utf-8'))

2021 parts[1]

='.'

.join(newhost)

22#python join() 方法用於將序列中的元素以指定的字元連線生成乙個新的字串。

2324

#去掉 url 中的空格

25 finalurl = urlunsplit(parts)

.split(

' ')[0

]26 host = parse.urlparse(finalurl)

.hostname

27if host ==

'suctf.cc':28

return urllib.request.urlopen(finalurl)

.read()29

else:30

return

"我扌 your problem? 333"

nginx 重要檔案目錄

配置檔案存放目錄:/etc/nginx

主要配置檔案:/etc/nginx/conf/nginx.conf

管理指令碼:/usr/lib64/systemd/system/nginx.service

模組:/usr/lisb64/nginx/modules

應用程式:/usr/sbin/nginx

程式預設存放位置:/usr/share/nginx/html

日誌預設存放位置:/var/log/nginx

from urllib.parse import urlparse,urlunsplit,urlsplit

from urllib import parse

defget_unicode()

:for x in

range

(65536):

uni=

chr(x)

url=

"".format

(uni)

try:

if geturl(url)

:print

("str: "

+uni+

' unicode: \\u'

+str

(hex

(x))[2

:])except

:pass

defgeturl

(url)

: url=url

host=parse.urlparse(url)

.hostname

if host ==

'suctf.cc'

:return

false

parts=

list

(urlsplit(url)

) host=parts[1]

if host ==

'suctf.cc'

:return

false

newhost=

for h in host.split(

'.')

:'idna'

).decode(

'utf-8'))

parts[1]

='.'

.join(newhost)

finalurl=urlunsplit(parts)

.split(

' ')[0

] host=parse.urlparse(finalurl)

.hostname

if host ==

'suctf.cc'

:return

true

else

:return

false

if __name__==

'__main__'

: get_unicode(

)

第二種方法就是利用在經歷了urlunsplit 、urlparse函式處理時的差異繞過。

著實不會。知識面++。總結就是nginx 重要檔案目錄的一些資訊和idna與utf-8編碼漏洞。最後**分析能力很重要。

BUUCTF web題解合集(六)

沒想到sql注入還能要掃目錄。掃目錄能看到robots.txt,提示存在hint.txt,訪問告知了你sql查詢語句。select from users where username post username and password post password 很平常的查詢語句。但同時有什麼用呢...

BUUCTF web題解合集(四)

include flag.php echo flag在 呢?if isset get exp else else else highlight file file localeconv 函式返回一包含本地數字及貨幣格式資訊的陣列。scandir 列出 images 目錄中的檔案和目錄。readfil...

4月訓練題解合集

由於我太懶了,所以就不每題開一篇寫了。題目大意也懶得寫了。顯然最優策略是瞎走,在知道那條邊斷掉了之後才走最短路徑。先把以 t 為根的最短路樹求出來,然後可以用堆求出斷掉每條邊後端點到 t 的最短路徑。最後像 dijk 那樣 dp 一下就好了。直接線段樹 凸包優化 dp 可以輕鬆做到 o n log ...