快速入门web-ssrf
快速入门web-ssrfSSRF 就是让 Web 服务器替你干活,去访问它能到但你不能到的地址。 举个 CTF 里的常见场景: 你作为攻击者,只能访问目标网站的前台页面(比如http://xxx.com/get.php?url=xxx); 这个网站的服务器,能访问自己的内网(比如127.0.0.1、192.168.1.100),这些内网地址你直接连不上; 你把参数改成 url=http://127.0.0.1/flag.txt,如果网站没过滤这个参数,就会让服务器自己去访问内网的flag.txt,然后把内容返回给你。 核心就是借服务器的 “身份”,看它能看的东西,CTF 里常用来拿内网的 flag、扫内网端口。 学习 SSRF 的关键技巧 记协议:SSRF 常用协议是http://(访问内网服务)、file://(读本地文件)、php://filter(读源码)、gopher://(构造复杂请求,高阶用); 记绕过:遇到过滤就换内网地址写法(127.1、0、[::1])、换协议(http→https)、加特殊字符(比如@、#); 找触发点:看到 URL/redire...
快速入门web-反序列化-POP 链
快速入门web-反序列化-POP 链知识点:1.魔术方法:__construct() //用于在创建对象时自动触发当使用 new 关键字实例化一个类时,会自动调用该类的 __construct() 方法__destruct() //__destruct() 用于在对象被销毁时自动触发对象的销毁对象的引用计数减少为零来触发__sleep() //序列化serialize() 函数会检查类中是否存在一个魔术方法sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组__wakeup() //用于在反序列化对象时自动调用unserialize() 会检查是否存在一个 wakeup() 方法,如果存在,则会先调用wakeup()方法__tostring() //__tostring() 在对象被当做字符串处理时自动调用比如echo、==、p...
快速入门web-内网渗透
快速入门web-内网渗透CTF 里的内网渗透,就是拿下一台机器,从这台机器出发,横向攻击内网里其他机器,最终拿到目标 flag。 你可以把内网理解成一个 “封闭的局域网”—— 你一开始只能直接接触到一台 “边界机器”(比如 Web 服务器),但内网里还藏着数据库、其他服务器、甚至存储 flag 的主机,这些机器你没法直接访问,只能靠已经拿下的机器当 “跳板”。 CTF 内网渗透的核心步骤(Web 入口为例) 拿下边界机器(突破口) 先通过 Web 漏洞(比如 PHP 代码执行、文件上传、SSRF)拿到这台 Web 服务器的权限(比如shell)。 这一步是内网渗透的基础,没有这个跳板就没法继续。 内网信息收集 在跳板机上执行命令,摸清内网情况: 查内网 IP 段:ifconfig/ip a(比如发现内网是192.168.1.0/24); 扫内网存活主机和开放端口:ping、nmap(比如发现192.168.1.10开了 MySQL 端口); 找敏感信息:查看服务器里的配置文件(比如数据库账号密码、其他机器的登录凭证)。 横向移动(攻击其他机器) 用收集到的信息攻击...
快速入门web-逻辑漏洞
快速入门web-逻辑漏洞逻辑漏洞就是 Web 应用的 “业务流程设计缺陷” —— 不是代码语法写错了,而是开发者设计功能时,没考虑到攻击者会 “钻规则的空子”。 它和 SQL 注入、XSS 这类 “代码层漏洞” 不一样,逻辑漏洞藏在业务逻辑里,比如登录、支付、权限管理这些环节。 CTF 里最常见的逻辑漏洞例子 越权访问 比如你登录用户 A 的账号,把 URL 里的user_id=1改成user_id=2,就能直接看用户 B 的信息 / 订单。 原因:服务器没校验 “当前登录用户是否有权限访问这个 user_id”。 密码重置绕过 密码重置时,网站发了个验证链接reset?token=abc123,你把 token 改成abc124,居然能重置别人的密码。 原因:服务器没校验 token 和用户的绑定关系,或者 token 生成规则太简单。 支付金额篡改 下单时前端显示价格是 100 元,你抓包把请求里的amount=100改成amount=0.01,服务器居然直接按 0.01 元结算。 原因:服务器没对前端传过来的金额做二次校验,直接信任了用户输入。 登录态绕过 有些...
b站网课sql笔记+日常学习知识点
b站网课sql笔记+日常学习知识点0.unionunion意为合并,拼接 通常注入的时候写进:union select 会把这里的数据表和外面本身存在的表合并在一起 1SELECT 语句 A` + `UNION` + `SELECT 语句 B 1 (列名) a (列名) b (列名) 1 2 3 (你定义的数字) 1 admin flag{this_is_real_data} (来自 select *) 这时候你就可以根据列名得到那一列的所有数据了 1.双写select2.报错注入floor 向下取整 rand():0-1 floor(rand()*2):0,1,1循环 3 种核心方法:floor、extractvalue、updatexml——报错注入就是 “故意让数据库报错,从错误信息里偷数据” 先统一前提(CTF 里常用)假设是单引号字符型注入(比如 Less-1),注入点是?id=1',我们要偷的是 “当前数据库名”(用database()函数获取)。 1. floor 报错注入(最经典:临时表撞车)核心逻辑:(MySQL 在 GROUP...
我的第一篇博客omg
我的第一篇博客omg这是我的第一篇博客, 是25.11.12写的, 当时带着好奇心来到网安专业,进入了ctf学习,埋头学着学着喜欢上了这个我之前觉得很深奥的世界,看到了很多大佬的博客,决定自己也要写个博客,我觉得真的很想在这里搭建了属于自己的知识世界,我想要把学习内容记录在自己的博客里,于是留下了一篇关于sqlmap怎么打开和使用的笔记。 感觉自己当时好笨,怎么连sqlmap的使用都不会; 但是又觉得当时自己在探索未知事务的样子也很可爱。 现在是26.1.21, 隔了这么久,期间经历了社团选拔,英语四级考试,长城杯比赛,期末考试,终于有时间再来为我的博客增添一些家具了。(我一直想着等寒假了我就有空了) 欢迎大家来到这里,或许这里还有很多不足,我会慢慢把一些功能丰富上去的。 我想说:我热爱这个领域,不仅是因为它是我的专业,更因为它这位朋友让我间接认识了很多大佬,思路,知识。 我爱它,它是我大学生活里面最重要的朋友,也是我的唯一陪伴。
git使用方法
简单版本 打开 source/_posts 里的新.md 文件,写内容 + 粘图片; 执行命令预览:hexo server -p 4001; hexo clean && hexo server -p 4001 执行命令发布:hexo clean && hexo g && hexo d。
md文件图片无法上传博客导致的事故——更新通知
md文件图片无法上传博客导致的事故2026.3.8 气死我了,以前老照片没有上传好,昨天十二点打算统一清理 结果现在都没弄好 提醒大家,很痛苦地提醒:千万让ai给你写更改图片名代码的时候仔细看 我改一次错一次,一直到现在3.8下午三点了都没弄好 所有md文件里面的图片都变成了同一个图片名 我想自杀了 所以现在打算删库重新上传一次 大家别忘记还是下载一个picgo比较好,写博客的话
快速入门crypto及buuctf题解
快速入门crypto及buuctf题解大帝的密码武器1题解 FRPHEVGL偏移13位security 密文:ComeChina,通过偏移13 得到flag,注意大小写 看我回旋踢1 遇到synt{xx-xx-xx} 判定他为rot13; 题目一般都是提示信息,“回旋踢”就暗示了rot13的特点,会重新绕回; flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1} moectf misc Cor1e的支票解码网站:https://www.dcode.fr/ook-language Ook编码详解123 Ook! 是一种基于极简主义设计的编程语言,属于 esolang(怪异语言)的一种。它是从 Brainfuck 演变而来的,主要用于编码和解码任务。Ook! 的指令由简单的短语组成,例如 Ook. Ook? 或 Ook! Ook!,这些短语对应 Brainfuck 的操作符。 编码规则 Ook! 使用一组固定的短语来表示操作符,每个短语由两个单词组成。以下是 Ook! 和 Brainfuck 的对应关系: Ook. Ook. 对应 >(指针右...
快速入门misc及buuctf西电题解
快速入门misc及buuctf西电题解bf6题解:1.压缩包,放kali,有png,用bk 2.准备png开头 明文文件 echo 开头码 | xxd -r ps > 明文文件 3.得到密钥 bkcrack -C -c -p -o 4.解密压缩文件 bkcrack -C -c -k -d 5.发现图片有隐藏的10编码,steg打开得到乱码,图片comment里面有密钥,解码后flag 二维码1一个完整的 JPG 文件由 FF D8 开头,FF D9结尾 在使用图片浏览器时,图片浏览器会忽略 FF D9 以后的内容,因此可以在 JPG 文件中加入其他文件。其他文件隐藏如png.gif文件隐藏也是这个道理。 123456789101112131415161718192021222324252627282930313233343536373839# ========== 前期定位工具 & 切换工作目录 ==========# 1. (尝试找bkcrack目录失败,改用全局查找工具路径)which bkcrack # 确认bkcrack路径:/usr/local/bin/...