'/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 ...