- 博客(65)
- 收藏
- 关注
原创 【nodejs中的ssrf】
通常可以通过观察参数中是否存在url来判断ssrf修改成百度的url后会发现百度的搜索按钮出现在了当前页面,这里访问的百度,实际是通过服务器访问的,而不是本地。
2025-12-18 12:01:23
388
原创 【RCE绕过进阶思路】
上面例子中,如果传入的参数不包含字母a到z,0到9,就会用eval执行下面的例子里,%01、%13 这种属于url编码,传输的过程中会被解码,解码后就不是数字或字母了。
2025-12-07 00:55:09
795
原创 【SQL注入绕过到getshel】
1a 和 1 比较时,会把1a 转为整型1,后面的a会忽略,1和1比较就是真3a -1 把3a转为整型 结果为2。
2025-11-22 22:42:42
725
原创 【CTF-Web考点讲解 cbc翻转攻击与padding-oracle攻击】
想象一下,如果直接用一个密钥反复加密每一个明文块(这种模式叫ECB),会有什么问题?问题就是:相同的明文块,会被加密成相同的密文块。 这就会在密文中留下明文的模式(比如,一张图片的轮廓可能依然可见)。CBC模式的终极目标就是为了解决这个问题:确保即使明文块完全相同,加密后的密文块也完全不同。 它实现这一目标的手段就是“链接”。
2025-11-21 23:29:53
78
原创 【Phar反序列化】
因为 PHAR 扩展的设计者在 C 代码层面编写了这样的逻辑:“在解析我的 PHAR 文件格式时,如果发现里面存有元数据,我就调用 unserialize()把它还原出来”。这个行为是 PHAR 扩展的固有特性,旨在方便地存储和读取复杂数据,但不幸成为了一个攻击面。
2025-09-29 17:54:03
853
原创 【erb模板注入以及jwt攻击】
假设我们有一个字符串和一次匹配操作:全局预定义变量:在Ruby中,当使用正则表达式进行匹配(如=~或.match方法)后,会自动设置以下全局变量:$&:最后一次成功匹配的整个文本。$`:匹配文本之前的字符串。$':匹配文本之后的字符串。这些变量是全局的,在同一个请求上下文中可以被访问。work里面有对于SECRET的正则匹配,所以最近的一个正则表达式就是这个。
2025-09-26 01:40:30
331
原创 【CTF-Web考点讲解 jwt】
JWT, 全称是JSON Web Token,是一种易于使用、无状态的鉴权(Authorization)方式。简单的来说,就是服务端把JSON数据经过加密做成token,以授权给客户端。存在的风险敏感信息泄露、未校验签名签名算法可被修改为none签名密钥可被爆破格式解析解密时密钥不对就会报错正确时就会和刚刚解出来是一样的。
2025-09-23 23:28:39
339
原创 【逻辑漏洞】
1、安装逻辑能否绕过判断重新安装能否利用安装文件获取信息能否利用更新功能获取信息2、交易修改商品价格、状态、购买数量等薅羊毛、套现等3、账号覆盖注册、越权修改密码撞库、爆破已有账号恶意锁死账户申诉过程中身份伪造4、验证码验证码可以重用验证码可以识别或预测验证码无时间限制或有效时间长验证码用于短信轰炸或邮箱轰炸5、sessionsession 可以伪造session 可以爆破6、越权水平越权 可以访问其他同权限用户的资源。
2025-09-23 20:06:34
163
原创 【绕过disable_function】
动态链接库 (.so 文件):可以理解为程序的“共享工具箱”。当程序需要完成某个特定功能(比如创建文件、连接网络)时,它不会自己实现所有细节,而是去调用“工具箱”(如 libc.so这个标准 C 库)里现成的工具(函数)。“优先加载”:LD_PRELOAD指定的库,会在所有其他标准库(如 libc.so)之前被加载到内存中。如果一个函数名(比如 getuid)同时存在于我们预加载的库和标准库中,那么系统会优先执行我们库里的那个函数。
2025-09-20 23:37:48
1011
原创 【绕过open_basedir】
如果指定了open_basedir那么php脚本访问权限就会被限制在指定文件目录下,例如上图开启后就无法访问路径以外的路径 例如 /etc/passwd如果未开启,php脚本就可以无限制访问任何目录,例如访问/etc/passwd。
2025-09-20 13:37:51
1465
原创 【php-fpm基础讲解】
php-fpm的演变过程PHP-FPM 的演变史可以看作是 PHP 在现代化 Web 架构(尤其是与 Nginx 配合)中寻求更高性能、更稳定性和更强控制力的发展史。
2025-09-19 10:15:55
556
原创 【session反序列化】
键名+竖线(|)+经过serialize()函数处理过的值键名的长度对应的ascii字符+键名+经过serialize()函数序列化后的值经过serialize()函数处理过的值,会将键名和值当作一个数组序列化。
2025-09-19 06:18:08
1266
原创 【session基础】
服务器为保存用户状态而创建的特殊对象当浏览器第一次访问服务器时,服务器创建一个session对象(该对象有一个唯一的id)服务器会将session以cookie的方式发送给浏览器,当浏览器访问服务器时,会将sessionid发过来,服务器根据sessionid就可以找到session对象。
2025-09-18 19:02:46
373
原创 【审计试题案例】
结合流程图的详细解释反序列化与对象创建:login_check()方法执行。PHP引擎读取您Payload字符串中的类名(例如 O:7:“Register”),然后在服务器已加载的类中寻找 Register类的定义。找到后,PHP创建一个新的 Register对象实例,并按照Payload字符串中的描述设置其属性(如 $checker, $registed等)。魔术方法的“继承”:这个新创建的对象实例本身不包含任何方法代码。但是,它“知道”自己是由哪个类创建的(这里是 Register类)。
2025-09-17 18:48:55
1073
原创 【php cms代码审计实战】
根据已知payload对phpmyadmin 4.8.1 LFI生产原因进行分析打开index文件,并找到target传参的地方打下断点打开phpmyadmin输入payload测试会有什么效果E盘下有txt文件返回到根目录包含flag.txt查看网页源码发现成功包含了点击蓝色字体,确保配置是可用的按下F5运行后再访问这样程序就断在了这个地方。
2025-09-15 01:49:18
1088
原创 【php依赖库代码审计的技巧流程】
百度百科中的解释:顾名思义就是检查源代码中的安全缺陷,检查程序源代码是否存在安全隐患,或者有编码不规范的地方,通过自动化工具或者人工审查的方式,对程序源代码逐条进行检查和分析,发现这些源代码缺陷引发的安全漏洞,并提供代码修订措施和建议。简单来讲就是分析代码,寻找漏洞。
2025-09-12 10:28:10
361
原创 【xss漏洞csp绕过】
Content Security Policy (CSP),中文通常译为“内容安全策略”,是一项非常重要的 Web 安全技术。它就像是给你的网站配备了一位严格的安保队长,负责审核所有想要进入页面或执行的资源,只有在他“白名单”上的资源才能放行,从而有效防范某些类型的攻击。
2025-09-08 16:04:16
1009
原创 【xss漏洞waf绕过】
1.HTML特殊字符实体编码(需要分号)2.HTML普通字符实体编码(无需分号)①十进制②十六进制3.fromCharCode函数。
2025-09-07 21:19:22
603
原创 【php反序列化字符串逃逸】
几个重要的特性PHP 在反序列化时,对类中不存在的属性也会进行反序列化PHP 在反序列化时,底层代码是以;作为字段的分隔,以 } 作为结尾(字符串除外),并且是根据长度判断内容的上面的两个点配合不安全的用于替换的waf函数最终会导致反序列化字符串逃逸漏洞。
2025-09-01 17:45:43
549
原创 【php反序列化介绍与常见触发方法】
_call方法,__call方法是当调用了对象中的不存在的方法导致的,这里就是调用了test方法导致的,User对象中并没有test方法,这里只需要把User->func设置成为Flag对象就能通过__call方法去调用到它的test方法先把有的类复制下来,其他用不到的可以省略掉,hello.php改成/flag,因为一般flag都在根目录下:这里的把a的$func属性指向Flag,那么当test函数不存在执行__call时中的name是"test",因为func = b,所以,执行的是。
2025-08-16 18:17:12
913
原创 【反序列化基本介绍】
序列化后的a代表数组Array,是数据类型(注意此处的 a 仅标识数据结构类型),2指的是里面包含的元素数量1和3两个数字代表变量的长度,原代码里的变量a和变量cat长度分别为1和3。
2025-08-15 17:29:08
917
原创 【ssti模板注入中如何绕waf】
针对于之前的payload有以下三种防御方法:1、想用for循环找各种类?过滤 [] 和 '"2、想用_class_搞事情,过滤关键字classbase3、关键字太多过滤不过来,过滤_我们试着思考一下这样过滤真的安全吗。
2025-07-28 02:59:02
993
原创 【php中ssti模板注入讲解】
本文分析了PHP中Smarty和Twig模板的安全机制及SSTI漏洞利用方法。首先介绍了两种模板通过白名单机制限制函数执行的安全措施,然后详细剖析了针对Smarty模板的SSTI漏洞利用过程,包括版本探测、payload构造和命令执行。文章通过一个实际案例展示了如何通过二次注入触发SSTI漏洞,并最终实现远程代码执行(RCE)。案例中演示了绕过SQL注入过滤、构造16进制payload以及通过GET参数执行系统命令的全过程,为模板安全研究和渗透测试提供了实用参考。
2025-07-28 02:58:35
1082
原创 【ssti模板注入基础】
为什么要用模板来提升效率:不管我们输入什么,有一部分内容都是不会变的除了内容之外其他都不会变,如果我们有成千上万的页面,如果不用模板,就算复制粘贴也是很大的工作量但是 有了模板之后,我们就可以把重复的内容写在模板里,当我们要写页面时,只需要把数据写进去就可以了MTV这种开发模式的核心就是达成一个前后端分离的效果,可以方便开发和移植,因为每个部分各司其职,就算模型坏掉了,只需要对模型就行修改即可。
2025-04-16 20:12:31
649
原创 【ssrf漏洞waf绕过】
(1)扫描内部网络利用多线程脚本去fuzz可用的端口或者服务。(2)向内部的任意主机和任意端口发送精心构造的数据包。举个例子(soapclient类+crlf漏洞给内网发送任意数据包利用http攻击redis)(3)wordpress开启xmlrpc利用pingback.ping方法造成ddos漏洞。或者请求大文件,始终保持连接keep-alive always(4)利用协议进行暴力穷举(5)如果不知道一个cms是什么cms,让服务端去访问自己所处内网的一些指纹文件来判断是否存在相应的cms。
2025-04-05 09:17:55
1072
原创 【 ssrf基本介绍与原理】
是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。。很多Web应用都提供了从其他服务器上获取数据的功能。使用用户指定的URL,Web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地服务器。
2025-04-05 09:17:25
707
1
原创 XXE漏洞
在中第一行 定义了book标签拥有的子元素为:title、author、date、categoriesDTD也可以作为远程的调用,我们把里面的内容单独写到book.dtd文件,那么这个dtd文件就成为了,合法的xml的构建模块,我们使用就能调用模块,一般情况下ststem 会去调用一些协议,例如http,但是如果在同一个目录下直接调用也是可以的,正因为支持远程调用,就会达到一个远程读取文件的效果。
2024-11-22 17:25:09
393
原创 【命令执行基本介绍】
通过在后面添加分号来执行我们需要的命令: -发现利用点后,利用find -name "flag*"去找文件名带有flag的文件:用cat读取文件:成功执行:假设我们这里有一个test文件,我们把他压缩后,文件个格式变成了打包的文件我们直间执行就发现他成功执行了我们需要的内容:我们就可以通过先把传进去的文件打包在用php命令去执行:create_function:用法:然后我们看到action那有个arg,这个arg其实就是函数体,我们可以通过改写这个函数体,因为创建
2024-11-04 12:08:06
180
原创 【sqlmap使用】
注意sqlmap在使用过程中可能会出现几个需要输入的参数y/n, 按照下面的输入就可以。测试注入点,检测到注入点后,直接爆数据库名。
2024-11-03 17:07:37
251
原创 【str_replace替换导致的绕过】
双写绕过,str_replace只会执行一次替换反斜线绕过,因为后台程序没有转义反斜线\, 可以通过输入一个反斜线\,转义反斜线\对于str_replace替换导致的安全问题远不止这些,把union替换为i也会导致绕过。
2024-10-19 21:39:04
929
原创 【into outfile写文件】
用法的意思就是把user表中查询到的所有字段都导出到1.txt文件中我们之前还有学到dumpfile,单是它只能导出一条数据。
2024-10-19 17:40:23
425
原创 【load_file读文件】
load_file等读文件的函数受到secure-file-priv 选项的限制,能不能使用load_file进行注入,要看这个选项的配置文件路径不能使用反斜线\,要使用斜线/
2024-10-15 22:16:24
1362
原创 【已知当前表字段名注入】
有的题,不一定是去获取数据库里面的数据,而是绕过登陆,比如万能密码之类like regexp 不能区分大小写strcmp使用的是ascii值,就避免了大小写的问题,相对于刚才的通配符,结果更准确。
2024-10-15 11:20:34
337
原创 【未知列名注入】
已经拿到库名,表名;在拿列名的时间,column_name或者columns被过滤,不能适用columns表来拿到列名。当然在column_name,columns等没有被过滤的情况下,也可以适用,只不过稍微麻烦点Union 主要适用于有回显位的情况,Using适用于报错的情况,因为using是通过报错信息,把列名信息带出来的。
2024-10-13 20:08:48
520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅