- 博客(16)
- 收藏
- 关注
原创 Web-ssrfme 2月公开赛 --SSRF及redis未授权访问
SSRF 漏洞:利用 Web 服务的参数(如url)访问内网资源。Redis 未授权访问:Redis 无密码且暴露内网端口,允许直接执行命令。Gopher 协议:通过 TCP 隧道发送原始 Redis 命令(需手动构造 RESP 协议格式)。持久化攻击:篡改 Redis 配置,将数据保存为 Web 可访问的 PHP 文件Redis 未设置密码且允许外网访问。Redis 运行用户有权限写入 Web 目录。存在 SSRF 漏洞或可发送 Gopher 请求。防御措施:1.Redis 安全配置。
2025-04-05 21:35:33
553
原创 RCE练习题(ctfshow)
过滤了flag关键字,使用include来包含文件,如果用php://filter读取需要完整的文件名,考虑用其他的伪协议,如data://,php://input。%09(tab)、$IFS$9(9可以换成1-9中间的数字,$0是返回当前的shell类型,所以不能用)、 ${IFS}、< 、<>、%20(space)等。反引号里面的是linux命令,可以用linux中能替换空格的字符代替空格,而反引号外面的php代码,不能用${IFS}来代替空格。
2025-04-03 17:51:39
702
1
原创 RCE无参匹配
或者用readfile、highlight_file(show_source的别名等读文件函数都可以(使用读文件,不会在网页上显示,需要用打印函数)也可读文件,常用于绕过过滤我们添加zflag.php使其排序在index.php后成为最后一个文件(出现报错的原因是PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,没有关系不影响我们读文件,7.3.4不报错)RCE(远程命令执行)目录遍历与文件读取绕过安全限制禁用危险函数:在php.ini中禁用eval()system()等。
2025-04-03 17:50:37
733
原创 RCE限制长度
ps:使用ls将命令写入文件需要有"/"来连接命令(因为会换行),如果命令中的每段字符串都是完整的,用dir将命令写入文件是最省事的。`linux`中,`dir`命令和ls效果基本一样,只有配合重定向符写入文件时有一些差别,`ls`写入文件中时,每个文件名都是单独一行,它会自动换行,有时会影响到命令的执行,而`dir`会把内容全部写入一行中,同时会自动补全空格。由于代码中有特殊符号<,?linux中,执行命令时,可以在没有写完的命令后面加`\`,实现将一条命令多行化,以行末没有`\`为终止。
2025-04-03 17:49:50
532
原创 RCE入门(常见后门函数介绍)
1.执行一个参数和双参数的函数可以用assert(),三参数可以用preg_replace的/e模式,但是都随着php版本的升级,已经被淘汰了。2.assert()函数在PHP 8.0.0之前,如果 assertion 是 string,将解释为 PHP 代码,并通过 eval() 执行。这种行为在 PHP 7.2.0 中弃用,并在 PHP 8.0.0 中移除。e 修饰符在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中移除。null。
2025-03-30 21:55:12
566
1
原创 xss.pwnfunction
因为是传参数,所以会在传参之前做运算,将/ALERT(17)/.source.toLowerCase()运算为alert(17)%25是%的编码,URL从浏览器进入服务器时,先进行URL解码, alert%25281%2529被解码成alert%281%29,触发location时,又一次解码将%28和%29解码为括号。编写alert(1),由于JSFuck中存在加号,而URL中会将+转变为空格,所以,还需要对JSFuck再进一步URL编码。获取的参数在eval()函数里,eval()函数可以执行命令。
2025-03-22 00:46:31
530
原创 DOM破坏
如果我们创建一个id为ok的<a>节点,setTimeout()第一个参数ok就会获取到<a>标签,在将<a>标签强制转成字符串时,会调用其toString()方法,返回href中的值。当JavaScript试图将一个对象转换为字符串时(例如通过调用toString方法),如果该对象没有自己定义的toString方法,就会沿着原型链向上查找,直到找到。对于不同的内置对象类型,这个方法可以返回描述对象类型的字符串,例如对于数组是[object Array],对于函数是[object Function]等。
2025-03-22 00:29:48
608
原创 XSS-labs(1-13关)
乍一看不能再用javascript伪协议,因为链接里必须包含http://,但是这里只检测输入里是否包含http://,所以把http://放到字符串末尾,并注释即可。过滤了很多关键字,注入点在<a>标签的href属性中,可以对javascript伪协议进行HTML实体编码,在进入浏览器后会自动解码。可以看到t_sort是注入参数,但是<input>的type是hidden,隐藏了起来不能直接使用。如果<input>元素中有两个type属性,浏览器会忽略第二个属性,只使用第一个属性的值。
2025-03-19 19:03:55
714
原创 XSS入门
1.<script>和<style>标签中的数据只能是文本,不会有HTML解码和URL解码操作2.<textarea>和<title>里会有HTML解码操作,但不会有子元素3.其他元素数据(如<div>)和元素属性数据(如href)中会有HTML解码操作4.部分属性(如href)会有URL解码操作,但URL中的协议需为ASCII字母5.JavaScript会对字符串和标识符Unicode解码根据浏览器的自动解码,可以反向构造XSS Payload。
2025-03-18 23:17:17
701
原创 order by及limit绕过和information_schema无法使用
由于预编译会给参数默认加上引号,而order by后的变量如果被引号包裹,则视作NULL,所以order by后的参数是注入点。
2025-03-08 01:59:32
641
原创 布尔盲注和时间盲注中获取表,列以及具体数据的函数
web页面根据输入只返回真值和假值,利用页面返回不同,逐次猜测数据输入?id=1' and1=1--+返回You are in表示输入有效输入?id=1' and1=2--+不回显数据表示输入无效web页面只返回一个正常页面,利用对页面响应时间不同,依次判断数据如果数据在正确范围,则网页响应延迟3秒。
2025-02-17 17:30:52
391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人