- 博客(36)
- 收藏
- 关注
原创 格式化字符串漏洞利用实验报告
本实验旨在深入分析并利用格式化字符串漏洞,通过构造特定的攻击载荷修改程序中的变量值。目标程序存在安全漏洞,通过系统性的漏洞分析、信息收集和利用构造,最终成功将变量 `a` 的值从 0 修改为 2025。1. **漏洞分析**:完整分析漏洞原理和影响2. **信息收集**:成功获取内存地址和偏移量3. **攻击构造**:设计理论正确的攻击方案4. **系统理解**:深入理解64位系统特性5. **防护分析**:识别现代系统安全机制。
2025-12-22 20:53:16
979
原创 Windows GUI 逆向分析题(CrackMe)
本文分析了32位Windows GUI程序的逆向过程。通过DIE查壳确认程序为VC++编译,包含调试信息。IDA分析发现关键函数DialogFunc_0,其中密码验证逻辑要求:输入字符串转换为整数等于122,且第4-6字符分别为x、y、z,长度不超过6。推导出正确密码为"122xyz"。验证成功后程序会生成flag:flag{123_Buff3r_0v3rf|0w}。验证方法是在程序输入框中输入122xyz并点击Crack按钮。
2025-12-18 21:23:34
1638
1
原创 《静态分析:GUI程序的明码比较》
该32位Windows GUI程序使用Visual Studio 2015编译,包含调试信息。通过分析发现程序要求输入有效邮箱和16位注册码。邮箱需满足基本格式要求(含@和.符号)。注册码验证逻辑为:长度16位,且各字符位置固定(如第0位为'C',第15位为'X'等)。通过组合这些字符条件,可得出正确注册码为"CZ9dmq4c8g9G7bAX"。当输入有效邮箱和该注册码时,程序验证通过。
2025-12-18 21:11:28
526
原创 图片管道及功能扩展
摘要:本文介绍了Scrapy爬虫开发中的几个关键技术点。1.翻页采集时需设置DOWNLOAD_DELAY延时;2.图片管道使用需继承ImagesPipeline类并重写相关方法,同时配置IMAGES_STORE路径;3.日志系统可通过LOG_FILE等参数配置日志文件、级别和格式;4.Scrapy默认启用Cookie保持会话,可通过COOKIES_ENABLED控制;5.重试机制默认开启,可配置RETRY_TIMES等参数控制重试次数和状态码。文中还详细说明了各项技术的具体实现方法和配置要点。
2025-12-03 16:56:28
766
原创 管道介绍与应用
本文介绍了Scrapy框架中爬虫(spiders)和管道(pipeline)的使用方法。主要内容包括:1) 如何修改请求方法为POST;2) 管道的基本概念和使用步骤;3) 以豆瓣电影Top250为例,演示爬虫实现和翻页处理;4) 详细说明管道类定义、启用配置及数据处理流程;5) 使用yield替代return实现生成器功能;6) 将爬取数据存储到MongoDB的实现方法,包括数据库连接、数据插入和关闭连接;7) 图片下载管道的实现,包括获取媒体请求、设置文件路径和处理完成回调。文章通过具体代码示例展示了S
2025-12-03 10:53:42
570
原创 scrapy的介绍与使用
摘要:本文介绍了三种常见的数据采集方式:request(简单但需逆向)、playwright(浏览器控制)和Scrapy框架。重点讲解了Scrapy框架的特点(异步处理、选择器提取、中间件支持等)及其核心组件(引擎、调度器、下载器、爬虫、管道)。详细说明了Scrapy项目创建流程(创建项目、生成爬虫、编写逻辑、运行爬虫)和常用配置项。最后介绍了响应对象的数据解析方法(XPath提取)。Scrapy作为高效爬虫框架,能显著提升开发效率,是爬虫工程师必备技能之一。
2025-12-02 20:29:44
1081
原创 爬虫图片采集(自动化)
本文介绍了一个基于Playwright的网页数据采集工具实现。该工具通过DataCollectors类封装了浏览器启动、资源下载和页面解析功能。主要特点包括:1)使用subprocess启动Chromium浏览器并设置远程调试端口;2)通过Playwright连接已启动的浏览器实例;3)实现图片资源下载功能,自动创建存储目录;4)包含页面解析逻辑,支持分页处理。配置参数集中在config文件中,包括浏览器路径、端口号、目标URL等。该工具适用于需要采集网页图片等资源的场景,具有可扩展性,可根据需求进一步开发
2025-12-01 20:32:57
1474
2
原创 豆瓣翻页封装-配置文件(模板操作)
本文介绍了一个通用的豆瓣页面采集封装模板,使用Playwright实现自动化爬取。主要包含两个核心函数:lanuch_chrom()用于启动浏览器,parse_data()用于解析页面数据。代码采用模块化设计,将浏览器路径、端口、URL等配置参数单独存放于config文件中。实现功能包括:自动翻页、数据提取(排名、标题、评分、图片URL)、异常处理等。通过同步方式连接浏览器,使用XPath定位元素,并设置了合理的等待时间防止被封禁。该模板结构清晰,参数可配置,便于扩展和修改为其他网站的采集程序。
2025-12-01 20:01:52
968
原创 豆瓣数据采集案例
本文介绍了使用Playwright进行网页数据采集的两种方法。第一种方法通过定位元素和翻页按钮实现豆瓣电影Top250的数据采集,通过判断"下一页"按钮是否存在来控制采集流程。第二种方法针对网易云音乐评论数据采集,重点解决了iframe框架下的数据定位问题,指出当元素ID变化时需要使用稳定的class属性或同级关系进行定位。文章提供了完整的代码示例,包括浏览器启动、页面访问、元素定位等关键步骤,并强调了在实际采集过程中可能遇到的元素定位变化问题及解决方法。
2025-12-01 19:23:14
1195
原创 反爬虫检测(内含重要文件代码)
摘要:本文介绍了防止爬虫被检测的技术方法,通过修改浏览器特性如navigator.webdriver属性来规避检测。核心代码展示了如何利用JavaScript脚本在访问前将webdriver值设为undefined,从而隐藏自动化工具特征。文章还提供了详细的JS实现代码,包括错误处理、代理封装和浏览器API修改等技巧,适用于需要绕过反爬机制的自动化测试场景。关键点在于通过动态脚本修改浏览器环境,使其表现得更像普通用户访问。
2025-11-30 20:59:47
747
原创 playwright中的页面滚动与本地浏览器打开
摘要:本文介绍了Playwright中实现页面滚动的三种方法:1) 使用元素对象的scroll_into_view_if_needed()方法;2) 执行JS代码实现滚动;3) 通过page.mouse.wheel()模拟鼠标滚动。同时讲解了如何启动本地浏览器并保持登录状态,包括两种方式:使用Playwright的launch_persistent_context方法或通过subprocess执行本地命令启动浏览器。重点说明了端口号必须一致才能成功连接浏览器。
2025-11-30 17:39:29
368
原创 iframe讲解(爬虫playwright的特殊应用)
本文探讨了在网页自动化测试中处理iframe嵌套时的元素定位问题。当页面包含iframe时,直接定位内层元素会失败,因为存在两个HTML文档嵌套。解决方法是通过frame切换先进入内层HTML:1)优先使用iframe的ID或name属性进行定位;2)外层使用page对象,内层使用frame对象;3)定位到iframe后,再操作其中的元素。这种分层处理方法能有效解决因重定向或嵌套导致的元素定位失败问题,比修改本地配置更高效实用。
2025-11-30 17:21:05
269
原创 爬虫playwright中的等待机制
摘要:本文介绍了网页自动化测试中的等待机制。主要包含三种等待方式:1)指定时间等待(page.wait_for_timeout);2)页面加载状态等待(load/domcontentloaded/networkidle三种状态);3)元素状态等待(visible/hidden)。重点说明了操作速度控制的重要性,建议使用等待机制模拟人类操作节奏,避免因操作过快被识别为爬虫。同时提醒谨慎使用networkidle状态,推荐通过元素状态断言来判断页面就绪情况。
2025-11-30 17:00:37
946
原创 爬虫playwright中的资源监听
本文介绍了网页资源监听的方法,主要包含以下要点:1)网页资源包括HTML、JS、视频、音频等文件;2)通过xpath提取资源并用request发送请求;3)使用page.on方法在访问页面前监听资源;4)处理响应时通过response.url判断资源类型;5)保存图片等资源需使用response.body获取字节数据并写入文件;6)可通过判断response类型(如image/png)批量获取特定资源。该方法能有效监听和获取网页中的各类资源文件。
2025-11-30 12:04:03
235
原创 音频隐写题目
摘要:通过音频隐写技术隐藏的flag信息可以通过以下步骤提取:下载音频文件后,使用Audacity软件打开,点击左侧三个点的菜单选项,切换到频谱图模式即可查看隐藏的flag内容。该方法利用音频频谱分析实现信息隐藏与提取。
2025-11-29 22:30:18
122
原创 爬虫playwright入门讲解
摘要:本文介绍了JavaScript逆向技巧和Playwright自动化工具的使用。在JS逆向部分,展示了通过window对象调用函数的多种方式,包括字符串拼接和布尔值转换等技巧。在Playwright部分,详细说明了安装配置流程和基本操作方法,包括浏览器启动、页面访问、元素定位、鼠标操作等。最后通过滑块验证码破解案例,演示了如何利用Playwright模拟鼠标操作完成滑块验证。文章涵盖了从基础概念到实际应用的全流程,为爬虫自动化开发提供了实用指导。
2025-11-28 17:14:05
1479
原创 空气质量在线检测分析平台逆向分析
摘要:本文分析了aqistudy.cn空气质量监测平台的API请求逆向过程。通过调试发现,该平台使用异步XHR请求接口aqistudyapi.php,请求参数采用MD5和Base64加密处理。定位到加密函数pvkWB5TRrM9kT5,验证为标准的MD5加密。响应数据采用AES/DES加密,需注意key和iv的特殊处理。文章详细记录了从请求参数逆向到响应解密的完整流程,包括加密定位、参数验证以及Python调用实现。
2025-11-27 18:45:51
1042
原创 常见反调试(无限debugger)
本文总结了前端开发者工具反调试的常见方法,主要包括:1)通过禁用右键和F12快捷键阻止开发者工具打开;2)利用窗口尺寸检测自动清空控制台;3)通过函数格式化检测配合内存爆破使浏览器卡死;4)使用无限debugger阻碍调试过程。文章详细介绍了每种技术的实现原理和代码示例,并提供了相应的解决方案,如控制台悬浮、Hook技术等。这些反调试手段可有效增加代码分析和逆向工程的难度,但也可能影响正常调试流程。
2025-11-24 23:27:15
1102
原创 常见加密算法
本文介绍了常见加密算法及其实现方法。主要内容包括:1. Base64编码的特点和JS/Python实现;2. 哈希算法(MD5、SHA)的特性及实现;3. 对称加密算法(DES、AES)的密钥、IV、加密模式和填充模式等概念;4. 非对称加密算法RSA的公私钥机制。文章通过具体代码示例展示了各种加密算法在前端(JS)和后端(Python)中的实现方式,并分析了各算法的核心特点和适用场景。掌握这些加密知识对于逆向工程和安全分析具有重要意义。
2025-11-22 23:26:49
653
原创 其他补环境的方法
摘要:文章介绍了如何使用JavaScript Proxy对象和jsdom库来补全浏览器环境。核心代码展示了通过myProxy函数对window、document等对象进行代理,记录其属性访问和修改操作。同时推荐使用jsdom@19.0.0版本在Node.js中模拟浏览器环境,提供了基础DOM操作示例,包括创建虚拟DOM环境和获取window/document对象的方法。这种方法适用于需要模拟浏览器环境的开发场景。
2025-11-22 21:06:54
975
原创 补环境技巧
摘要:本文探讨了在网页调试过程中处理混淆代码和补环境的方法。主要内容包括:1) 通过hook查找和修改cookie中的特定值;2) 分析混淆代码结构,如函数p的参数处理和条件判断;3) 补环境技巧,解决浏览器与Node环境差异问题;4) 调试方法,包括断点定位、变量跟踪和环境对比;5) 具体案例演示如何补全缺失的window、document等对象。文章提供了从代码调试到环境补全的完整解决方案,帮助开发者在逆向工程中处理复杂的混淆代码和环境差异问题。
2025-11-21 22:17:13
544
原创 IDA借助python分析逆向工程寻找flag
🔥 一道精巧的BabyRE逆向题!程序运行时动态解密验证函数,犹如数字世界的"自解密码箱"。我像侦探般追踪内存数据,在异或加密的迷雾中寻找线索。当发现input[i]^i的变换模式时,瞬间豁然开朗——flag{n1c3_j0b}跃然屏上!这种从二进制混沌中提炼逻辑的过程,正是逆向工程的魅力所在。💻✨ #CTF破解 #逆向艺术
2025-11-20 23:31:27
1490
原创 逆向题目经验总结
在这道引人入胜的逆向工程挑战中,一个看似普通的Windows可执行文件背后隐藏着精心设计的加密迷宫。程序以"Give me your flag:"的简单提示开场,却暗藏玄机——flag被包裹在EIS{}格式中,经过层层加密变换:大小写翻转、自定义转换函数、异或操作,最终与目标字符串"GONDPHyGjPEKruv{{pj]X@rF"进行比较。
2025-11-20 20:53:42
667
原创 爬虫中的webpack应用(步骤超详细)
webpack 是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源都看成模块,通过 loader(加载器)和 plugins (插件)对资源进行处理,打包成符合生产环境部署的前端资源。(知道了加密算法,就不需要自己再去扣了)找到一个需要做逆向的地方,用户电话和密码都需要做逆向现在下面搜索定位一下然后往上找传递的参数,这里比如i是通过n传递了一个8(其中n为形参)
2025-11-16 23:46:44
582
原创 每日ctf经验总结3
POST 数据是:id=1) and if((ascii(substr((select flag from flag), 1, 1))='40'), sleep(3), 0) --文件打开是一张图片,考虑到图片隐写,用stegsolve打开,拖到Stegsolve.jar中查看rgb低位,发现一串由base64加密的字符串,然后用base64解码得到flag。提取时,需要将每个像素的 R、G、B 最低位取出,组合成新的字节,还原出隐藏的数据。print(f"\n最终 Flag: {flag}")
2025-11-16 16:15:21
608
原创 web题目汇总1
打开bp尝试暴力破解id,在1-10000的纯数字之间进行爆破,发现2333的长度特殊,就在原url后面会加上2333进行尝试。print(f"响应长度: {len(response.content)}")print(f"状态码: {response.status_code}")print(f"响应长度: {len(response.content)}")print(f"尝试: {username} / {password}")print("\n=== 发送POST请求 (auth=flag) ===")
2025-11-13 18:18:46
1074
原创 PHP序列化与反序列化----wakeup函数的绕过技巧
🔥 XCTF反序列化漏洞实战:巧妙绕过__wakeup()魔法函数,通过修改属性计数触发漏洞,最终获取隐藏flag!💻 #CTF技巧 #PHP安全
2025-11-12 11:05:23
338
原创 用脚本来拼接图片,要尝试一下吗?
🔥 解锁隐藏的密信!这道CTF题目暗藏玄机——200多张“瘦长”的GIF帧图片其实是一张完整图像被切成的垂直切片!就像破解古老的卷轴密码,我们只需施展“数字拼接魔法”,将这些碎片按序重新组合,被切割的flag就会在完整图像中惊艳浮现!这不仅是技术对决,更是一场视觉解谜的盛宴!
2025-11-11 17:35:33
827
原创 CTF每日题目经验总结
6.下载后文件后缀名为core,尝试在linux中用strings查找,发现大写的C,T,F中间都隔了4个字母,写一个python脚本来提取。发现有flag函数但是没有被调用,我有创建了一个新的python脚本,用python3运行也能得到一些结果。print("十六进制:", result.encode('utf-8').hex())print("原始字节:", [ord(c) for c in result])发现其他文件,用foremost进行分离,分离出来的第二张图片里面就有flag。
2025-11-11 12:46:43
1246
原创 Linux中的暴力破解密码
print(f"尝试 {i}/{len(common_passwords)}: {pwd}", end="\r")print(f"长度 {length}: {count}/{total}", end="\r")print(f"进度: {i}/10000", end="\r")print(f" 成功!print(f" 解压的文件: {file_list}")print("\n常见密码失败,尝试4位数字密码...")print("\n 尝试3-5位纯小写字母...")print("尝试常见CTF密码...")
2025-11-10 19:24:26
590
原创 逆向查找动态静态两种方法
用ida打开文件,想到之前弹窗中的error可能是一个查找的线索,用shift+f12打开strings,然后用ctrl+f搜索error。点进第一个之后找到aerror,ctrl+x然后跳转到IDA汇编窗口。下载附件打开是一个可运行程序,随便输入会出现error。用Detect it easy进行查壳,显示没有被加壳。error往上稍微翻一点就能看到flag了。找到error往上面找一点就能看到flag。打开后找到搜索字符串并输入error,选择最上面的那一个双击。
2025-11-10 16:21:52
798
原创 图片隐写+二维码
下载后是两个图片,先用stegsolve打开其中一张,再用analys中的combine with打开另一张,得到一张新的图片,保存这个图片,但是曝光率有点低,不好识别二维码。打开保存的图片后这样找到曝光度并调到最高。
2025-11-09 20:57:00
263
原创 图片隐写 pro max
可以得到16进制组合,把组合复制到winhex中,可以发现flag,1.py等关键字,保存成一个文件然后打开inux终端,用file命令查看,将文件名改为noname.py运行但什么都没得到,考虑是pyc文件,将后缀名改为.pyc。下载文件打开是一张图片,尝试一下用StegSolve,点击下面的箭头,发现有一张二维码。反编译里面后有一个函数,但是没有调用,修改调用一下就可以得到flag了。这个网站打开扫描二维码,
2025-11-09 19:56:09
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅