梦~醒🥝
flask中的session伪造
flask中的session伪造 使用 密钥SECRET_KEY 和 经过解码原session篡改后的字典 可以重新加密生成一个session。 有一个开源脚本可以帮我们自动生成:https://github.com/noraj/flask-session-cookie-manager(kali机上已下载) 现在流行两种方式登录认证方式:Session和JWT,无论是哪种方式其原理都是保存凭证: 1.前端发起登录认证请求 2.后端登录验证通过,返回给前端一个凭证 3.前端发起新的请求时携带凭证 只不过session的重点是会在服务端存储凭证;而JWT不会在服务端存储凭证,而是会将返回的凭证根据签名和加密方式来校验其是否被篡改。 session安全问题: flask框架的session是存储在客户端的,那么就需要解决session是否会被恶意纂改的问题,而flask通过一个secret_key,也就是密钥对数据进行签名来 防止session被纂改,在我上面写的例子就定义有密钥(app.config[‘SECRET_KEY’] = ‘tanji_is_A_boy_Yoooooooooooo ...
刷题2024.7.26
[TOC] 一言既出(笔记KEY:intval绕过) 考点:弱类型比较,intval()函数,注释 123456789<?phphighlight_file(__FILE__); include "flag.php"; if (isset($_GET['num'])){ if ($_GET['num'] == 114514){ assert("intval($_GET[num])==1919810") or die("一言既出,驷马难追!"); echo $flag; } } 分析代码,传入num,要使num的值等于114514,经过intval()函数后要等于1919810。因此有两种思路: 1.让num的值同时满足这两个条件。比如可以构造num=114514+1919810-114514,传入时进行url编码。 由于是弱类型比较,提取开头数字就等于114514,满足条件1,而经过intval() ...
刷题2024.7.25
我吐了你随意 0宽隐写,使用在线工具,将文本复制进去直接得到flag 迅疾响应 二维码,先用toolfxs里的工具,发现扫不出来,然后用qrazybox在线工具解出。 打不开的图片 图片损坏,扔进010editor看看。发现png格式前缀不对,用工具里的求反,然后保存,图片就恢复正常了。
刷题2024.7.25
[TOC] web签到 考点:代码审计,http请求 先传Cookie,即 1CTFshow-QQ%E7%BE%A4:=a ​ (中文要进行url编码) 接下来传post[‘a’],即a=b 然后传get[‘b’],即?b=c 最后的request,传GET或者POST方法都可以,即 1&c[6][0][7][5][8][0][9][4][4]=system('cat /f*'); web2 c0me_t0_s1gn 考点:查看源代码,使用控制台 我的眼里只有¥ 考点:代码审计,脚本利用 _=a,即$__=a,后面就是$a,$a=b,就变成$b,以此类推,用python脚本连续传参可解。 抽老婆 考点:查看源代码,代码审计,flask中的session构造 打开链接,发现可以下载“老婆“。查看代码,发现一串下载的可以代码。(/download?file=a) 用GET方法下载一个文件,发现不成功,页面跳转。 发现”flag“,怀疑/app/app.py文件。下载此文件。 报错,仔细分析,发现可以用…/退级,改为 …/…/app ...
http协议
http协议 请求头部 响应信息 状态码 403状态码表示服务请求被禁止,这一类返回码并不代表目标目录真的 无法访问,很多时候是因为攻击者没有命中正确的资源名称。例如, 通常情况下,上传文件往往存储在upload目录下(具体名称并不绝 对),如果直接访问upload目录,会返回403错误;但如果访问upload 目录下的具体文件,且该文件确实存在,那么返回的HTTP状态码为 200。此外,403错误也可能是因为参数错误而导致的。因此,如果 HTTP返回码为403,并不意味着该文件不存在,还需要进一步处理, 例如在该目录下继续进行目录探测,或者进行参数爆破。 请求方法(put方法上传一句话木马) put方法上传一句话木马,然后用蚁剑链接。 补充:http的请求方法: 在 HTTP/1.1 中提供了一系列方法以便我们向服务器发送不同类型的请求,需要注意的是这些方法名称都是区分大小写的,而且必需使用大写字母。具体的方法名称和说明如下表所示: GET方法 GET 方法可以根据请求行中 URL 部分的参数从服务器中获取数据。例如我们在浏览器中打开一个连接,然后就会在浏览器看到相应的 ...
伪造ip
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657Forwarded-For:localhostForwarded:127.0.0.1Forwarded:localhostTrue-Client-IP:127.0.0.1X-Client-IP:127.0.0.1X-Custom-IP-Authorization:127.0.0.1X-Forwarded-For:127.0.0.1X-Forward:127.0.0.1X-Forward:localhostX-Forwarded-Host:127.0.0.1X-Forwarded-Host:localhostX-HTTP-Host-Override:127.0.0.1X-Oriainatina-IP:127.0.0.1X-Forwarded-Host:127.0.0.1X-remote-IP:127.0.0.1X-remote-addr:127.0.0.1True-Client- ...
刷题2024.7.24
你会异或吗 将文件下载解压放进010editor,发现格式不对,根据题目提示“你会异或吗”和“0x50”,在010editor中对每个字节与0x50进行异或运算,得到完整图片。 flag一分为二 解压文件是一张png图片,放进010editor,运行模板中的png,在模板结果中找到宽高并修改。之后再用隐形水印工具提取盲水印。 you_and_me 两张图,猜测you.png是原图,you_and_me是加了盲水印的图,需要原图的提取盲水印想到blind watermark。(watermark解不出来) 黑丝白丝还有什么丝 视频里按照黑丝白丝出现的顺序和转场变化,依次记录,(白黑黑、白白白白黑、黑白、黑、黑、黑黑黑黑黑、黑白白白、白白白黑黑、黑黑、黑黑黑、白黑白、白、黑白黑白、白白黑、黑、白、白白。最后两个白白应该是拜拜的意思)然后放进 摩斯密码解密。(多来点这种题(手动滑稽))
volayility工具的使用方法
volayility工具的使用方法 获取内存镜像详细信息 imageinfo 是 Volatility 中用于获取内存镜像信息的命令。它可以用于确定内存镜像的操作系统类型、版本、架构等信息,以及确定应该使用哪个插件进行内存分析 1python2 vol.py -f Challenge.raw imageinfo #f:指定分析的内存镜像文件名 123456上述输出中,Suggested Profile(s) 显示了 Volatility 推荐的几个内存镜像分析配置文件,可以根据这些配置文件来选择合适的插件进行内存分析AS Layer2 显示了使用的内存镜像文件路径KDBG 显示了内存镜像中的 KDBG 结构地址Number of Processors 显示了处理器数量Image Type 显示了操作系统服务包版本Image date and time 显示了内存镜像文件的创建日期和时间 获取正在运行的程序 这里我们用 Win7SP1x64 配置文件进行分析,Volatility 的 pslist 插件可以遍历内存镜像中的进程列表,显示每个进程的进程 ID、名称、父进程 ID、创建时 ...
刷题2024.7.23
ctf秀新手笔刷题 杂项签到 下载文件后解压,是一张图片,放进010editor,搜索ctf,找到flag。 损坏的压缩包 打开压缩包,发现打不开,确实是损坏的压缩包。损坏的话可能是格式不太对,或者格式对了但是内容有问题 图片的格式可以用dat图的前两个字节来区别, jpg= FF D8,png =89 50,gif =47 49,Bmp=42 4D 丢进010editor看下,前两个字节是89 50,这个文件头标识对应的是png。把文件的后缀改成png就能正常显示了。 揣测了一下出题人出这道题,感觉很好出的,只要随便找张图片拿画图软件画上flag,然后把前两个字节改掉 谜之阑珊 比较两文件不同,扔进010editor,比较文件就能查看 你会数数吗 题目提示“你会数数吗”,统计每个字符出现的词频,然后降序排列,得到flag(脚本)
序列化和反序列化
网站:【CTF_Web:反序列化学习笔记(一)php中的类与对象 - CSDN App】http://t.csdnimg.cn/8DZX7 【CTF_Web:反序列化学习笔记(二)CTF经典考题由浅至深 - CSDN App】http://t.csdnimg.cn/NNftL 数组序列化 原数组: [‘a’=>‘str’, ‘b’=>1, ‘c’=>false] 序列化后: a:3:{s:1:“a”;s:3:“str”;s:1:“b”;i:1;s:1:“b”;i:1;s:1:“c”;b:0;} 对象序列化 对于PHP中的类C,属性 data=“abc” 会被序列化为不同的形式(%00代表空字符) Public属性: s:4:“data”;s:3:“abc” Private属性: s:7"%00C%00data";s:3:“abc” Protected属性: s:7"%00*%00data";s:3:“abc” 其它数据类型 String(字符串):s Integer(整型):i Bool(Bool型):b NULL:N Arra ...
正则表达式中各种前缀和后缀含义
前缀: ‘.’代表着匹配前面的单个字符, ‘+’代表匹配一次或者是多次, ‘+?’代表重复一次或者多次,尽可能的少重复 后缀: i :(PCRE_CASELESS)   如果设定此修正符,模式中的字符将同时匹配大小写字母。 m:(PCRE_MULTILINE)   默认情况下,PCRE 将目标字符串作为单一的一“行”字符所组成的(甚至其中包含有换行符也是如此)。“行起始”元字符(^)仅仅匹配字符串的起始,“行结束”元字符()仅仅匹配字符串的结束,或者最后一个字符是换行符时其前面(除非设定了D修正符)。这和Perl是一样的。  当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。这和Perl的/m修正符是等效的。如果目标字符串中没有“\n”字符或者模式中没有或 ,则设定此修正符没有任何效果。 s:(PCRE_DOTALL)   如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符(一般情况下‘.’是不能匹配‘\n’的)。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a ...
avatar
🐟认真摸鱼中
梦~醒🥝
往前走,别回头🍭🍭🍭
前往小窝
公告栏
--- 主域名 ---
m3x1.cn | m3x1.fun
--- 备用域名 ---
m3x1.pages.dev
备用域名2
--- 网站安卓APP ---
🍧点此下载(暂无)🍧
最新文章
小站资讯
文章数目 :
71
本站总字数 :
6.6w
本站访客数 :
本站总访问量 :
最后更新时间 :
空降评论复制本文地址
随便逛逛昼夜切换阅读模式关于博客美化设置切换全屏打印页面