- 博客(17)
- 收藏
- 关注

原创 文件包含(CTFshow 刷题记录)持续更新
Session控制:通过PHPSESSID指定文件名,注入恶意代码。竞争窗口:在PHP删除前包含文件,需毫秒级并发请求。绕过过滤:直接路径包含,避免使用被过滤字符。
2025-04-13 10:36:24
2097

原创 PHP伪协议保姆级总结
如果allow_url_include配置项被开启,攻击者可以通过远程文件包含(Remote File Inclusion, RFI)的方式,将一个远程文件的内容传递给file_get_contents(),从而绕过本地文件的限制。如果allow_url_include=On,攻击者还可以利用本地文件包含(Local File Inclusion, LFI)的方式,通过file_get_contents()读取本地文件内容。php://input是一个PHP伪协议,用于读取原始输入数据。
2025-03-22 09:05:07
2080

原创 文件上传漏洞:upload-labs靶场通关1到5关保姆级详解
httpd.conf 文件通常需要管理员级别的权限进行修改,修改后需要重启 Apache 服务器才能生效(实际不太可能用的上)Content-Type 用来告诉接收方(比如浏览器或服务器)发送的数据是什么类型的。作用: 特定于用户或特定目录的配置文件,通常位于 Web 应用程序的根目录下。它用于覆盖或追加全局配置文件(如 php.ini)中的 PHP 配置选项。php:这是PHP的开始标签,表示以下内容是PHP代码。那么我将上传php文件的Content-Type改成jpg的。
2025-03-04 20:25:47
1461
1
原创 [NISACTF 2022] babyserialize超详解
这就不得不提到strtolower函数 ,该函数将字符串转换成小写,可以触发。那我们想要触发__invoke需要将对象当作函数调用时才会触发,继续审计代码。eval 是 PHP 的一个内置函数,用于将字符串作为 PHP 代码执行。所以我们可以利用这个txw4ever,来调用系统函数实现命令执行。call方法是对不存在的方法或者不可访问的方法进行调用就自动调用。_set方法是对不存在或者不可访问的变量进行赋值就会自动调用。首先我们审计代码,寻找危险函数等,在题目中找到hint函数位置。
2025-04-04 10:14:30
527
原创 SSTI注入例题详解(持续更新)
SSTI(Server-Side Template Injection)是一种发生在服务器端模板中的漏洞。当应用程序接受用户输入并将其直接传递到模板引擎中进行解析时,如果未对用户输入进行充分的验证和过滤,攻击者可以通过构造恶意的输入来注入模板代码,导致服务器端模板引擎执行恶意代码。我们可以使用工具 arjun ,不能像比赛的时候我username试了 admin试了 就是没想到用name。以后会收集更难的ssti注入题目加进来。得到提示,所以接下来得寻找参数。下载fenjin这个工具。
2025-03-31 17:59:25
358
1
原创 GIT 泄露例题详解(持续更新)
我们尝试使用工具拉下来 即get_dumper(Git-Dumper 是一个用于从网站上抓取 Git 仓库的工具。它能够帮助用户在没有目录列表的情况下,通过分析 Git 仓库的结构和文件,尽可能地恢复整个 Git 仓库。使用dirsearch 扫描后台发现很多git目录(但是不知道为什么比赛的时侯用御剑扫不出来,导致没有思路)恢复了曾经的历史记录 拿着密码去登录即可得到米娅的秘密。目录的网站,使得开发者能够恢复丢失的代码。我们回到目标文件上 发现多了两个文件。然后我们进入git目录。
2025-03-31 17:47:59
789
原创 RCE学习 及其例题保姆级详解(一)
例一:分别对 system 和 ls / 进行取反、编码,输出"\n"是用来换行得到%8C%86%8C%8B%9A%92%93%8C%DF%D0再次对其进行取反构造payload看到疑似flag文件同理使用cat命令构造例二:[GXYCTF 2019]Ping Ping Ping打开题目 构造ip看到flag.php 我们尝试使用cat命令失败 还疑似被骂了根据图片上面的提示,应该存在空格绕过以下是可代替空格< <> %20(即space)%0
2025-03-20 21:04:41
723
原创 buuctf- [BJDCTF2020]Easy MD5
MD5(Message Digest Algorithm 5)是一种广泛使用的 哈希函数,由 Ronald Rivest 在 1991 年设计。它可以将任意长度的输入数据转换为一个固定长度(128 位,即 32 个十六进制字符)的哈希值。跳转到新的页面并查看源码找新的页面levell14.php。可以利用md5在传入两个数组时,会返回null值 这样就能使两个参数在md5加密后的类型是一致的。我们从网上寻找两个值加密后以0e开头,且0e后面是纯数字的字符串即可。构造payload即可。
2025-03-20 08:30:00
466
原创 SQL注入 结合sqli-labs学习(二)
首先要登陆成功,然后可以修改$uagent参数(没有做check_input检查),做报错注入(只能做报错注入),在插入信息时执行指令导致出错,反馈错误信息,登陆后输出uagent信息包括报错信息,达到注入效果。uagent,即User-Agent,中文名为用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。登陆成功后,会把'$uagent', '$IP', $uname的信息插入数据表uagents。
2025-03-19 14:59:41
594
原创 SQL注入 结合sqli-labs学习(一)
什么是注入所谓SQL注入,就是通过把SQL命令插入到WEB表单提交或输入域名或页面请求的查询字符串,最终到达欺骗服务器执行恶意的SQL命令,从而进一步得到相应的数据信息。通过构造一条精巧的语句,来查询到想要得到的信息。注入分类按照查询字段按照注入方法那么如何判断字符型和数字型第一种方法:?id=1如果查出来的结果与?id=2-1相等 即为数字型如果不相等为字符型(因为字符型无法解析)第二种方法:使用and 1=1和and 1=2来判断数字型一般提交内容为数字,但数字不一定为数字型。
2025-03-19 14:51:19
1053
原创 [SWPUCTF 2021 新生赛]no_wakeup
因而把O:6:"HaHaHa":2:{s:5:"admin";s:4:"user";}中2 改成3 即可完成。但是本题关键在于绕过__weakup()函数 因为unserialize会检测到__weakup 触发魔术方法。因为当序列化后对象的参数列表中成员个数和实际个数无法对应时会导致绕过 __weakup();显然weakup方法会加密上传的序列化参数中的passwd 考虑绕过。
2025-03-02 12:29:56
406
原创 [SWPUCTF 2021 新生赛]ez_unserialize
Disallow: /cl45s.php 表示禁止所有搜索引擎爬虫访问网站的 cl45s.php 文件。得到O:4:"wllm":2:{s:5:"admin";s:3:"ctf";因为__destruct()方法是在对象被销毁是调用,由此我们先创建一个对象,给其成员赋值然后进行序列化。这两条规则结合起来就是告诉所有搜索引擎的爬虫不要抓取 cl45s.php 这个文件。类的一个新实例,并将其引用赋值给变量。拿御剑后台扫描工具扫一下。
2025-03-01 19:41:24
402
原创 php反序列化之魔术方法详解
由于User类中定义了__toString()方法,PHP将自动调用这个方法,并将返回的字符串输出。代码从$_GET['benben']获取一个值,赋给$user_ser,然后调用unserialize($user_ser)。__construct($username, $nickname, $password):构造函数,用于初始化对象的属性。echo $test()->benben 首先调用对象作为函数(执行__invoke()方法),然后尝试访问属性。在实例化一个对象的时候自动触发。
2025-02-27 20:06:08
634
原创 [第五空间 2021]WebFTP
phpinfo.php在Web应用中可能发现敏感文件 在实际的网络安全实践中,发现这些文件通常意味着存在安全漏洞。由题目标签知可能有后台扫描,于是用御剑后台扫描工具 填写域名。在环境中查找到flag。
2025-02-23 13:30:09
267
原创 [SWPUCTF 2021 新生赛]babyrce详解
所以http://node5.anna.nssctf.cn:27929/rasalghul.php?url=ls / 不会成功。检查是否存在名为 admin 的 Cookie,并且其值是否等于 1。首先 在hackbar里面点cookies 令admin=1。if($_COOKIE['admin']==1)会。直接使用cat命令查看 ok 得到flag。echo "小饼干最好吃啦!因为输入包含空格,执行会被中断。我们可以用$IFS来代替空格。首先出现了这样一个脚本。打开该php文件 *
2025-02-23 10:36:00
362
原创 [[SWPUCTF 2021 新生赛]Do_you_know_http] 详解
X-Forwarded-For 头部通常包含发起原始请求的客户端的真实 IP 地址。当请求通过代理服务器、负载均衡器或其他中间设备时,这些设备可以在 X-Forwarded-For 头部中添加或更新客户端的 IP 地址,以确保请求的原始来源信息能够传递到最终的服务器。由use ‘WLLM’ browser 抓包,将User-Agent改为WLLM。它让你使用真实的ip 所以加上X-Forwarded-For。是把左边hello.php改成a.php。
2025-02-22 14:23:57
427
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人