当前位置: 首页 > wzjs >正文

网站如何导流量云指建站平台

网站如何导流量,云指建站平台,机械行业网站模板,关键词优化推广公司排名题目链接&#xff1a;http://node4.anna.nssctf.cn:28789/ 题目类型&#xff1a;Web 安全 - PHP 漏洞利用 题目分析 这是一个包含三个关卡的 PHP 安全挑战&#xff0c;需要通过构造特定的参数来绕过每一关的验证。 <?php highlight_file(__FILE__); include "./f…

题目链接:http://node4.anna.nssctf.cn:28789/

题目类型:Web 安全 - PHP 漏洞利用

题目分析 

这是一个包含三个关卡的 PHP 安全挑战,需要通过构造特定的参数来绕过每一关的验证。

<?php
highlight_file(__FILE__);
include "./flag.php";
include "./result.php";
if(isset($_GET['aaa']) && strlen($_GET['aaa']) < 20){$aaa = preg_replace('/^(.*)level(.*)$/', '${1}<!-- filtered -->${2}', $_GET['aaa']);if(preg_match('/pass_the_level_1#/', $aaa)){echo "here is level 2";if (isset($_POST['admin']) and isset($_POST['root_pwd'])) {if ($_POST['admin'] == $_POST['root_pwd'])echo '<p>The level 2 can not pass!</p>';// START FORM PROCESSING    else if (sha1($_POST['admin']) === sha1($_POST['root_pwd'])){echo "here is level 3,do you kown how to overcome it?";if (isset($_POST['level_3'])) {$level_3 = json_decode($_POST['level_3']);if ($level_3->result == $result) {echo "success:".$flag;}else {echo "you never beat me!";}}else{echo "out";}}else{die("no");}// perform validations on the form data}else{echo '<p>out!</p>';}}else{echo 'nonono!';}echo '<hr>';
}?>

 

第一关:正则匹配绕过

第一关的核心代码是:

$aaa = preg_replace('/^(.*)level(.*)$/', '${1}<!-- filtered -->${2}', $_GET['aaa']);
if(preg_match('/pass_the_level_1#/', $aaa)){echo "here is level 2";// ...
}

关键点

  • 需要通过 GET 参数aaa传递包含pass_the_level_1#的字符串
  • 字符串长度小于 20
  • 不能被正则表达式/^(.*)level(.*)$/匹配到level

绕过方法
使用换行符\n(URL 编码为%0a)在level前,使正则表达式无法从字符串开头匹配到level

GET参数:aaa=%0apass_the_level_1%23

这样构造的字符串实际上是\npass_the_level_1#,虽然包含level,但由于level前面有换行符,正则无法匹配到level,从而成功绕过过滤,同时保留了pass_the_level_1#字符串。

第二关:PHP 弱类型与数组哈希绕过

第二关的核心代码是:

if ($_POST['admin'] == $_POST['root_pwd'])echo '<p>The level 2 can not pass!</p>';
else if (sha1($_POST['admin']) === sha1($_POST['root_pwd'])){echo "here is level 3,do you kown how to overcome it?";// ...
}

关键点

  • 需要 POST 两个参数:adminroot_pwd
  • 这两个参数不能相等(==弱类型比较)
  • 但它们的 SHA1 哈希值必须相等(===强类型比较)

绕过方法
利用 PHP 对数组的特殊处理特性:

POST参数:admin[]=123&root_pwd[]=125

原理分析

  1. PHP 中使用[]符号会创建数组,因此:

    • admin[]=123 创建的数组是 [0 => "123"]
    • root_pwd[]=125 创建的数组是 [0 => "125"]
  2. 当使用==比较两个数组时:

    • PHP 会比较数组的结构和元素值
    • 由于两个数组的第一个元素分别是 "123" 和 "125",它们不相等
    • 因此,$_POST['admin'] == $_POST['root_pwd'] 的结果是 false
  3. 当对数组使用sha1()函数时:

    • PHP 会尝试将数组转换为字符串
    • 数组转换为字符串的结果通常是 "Array"
    • 因此,sha1($_POST['admin']) 和 sha1($_POST['root_pwd']) 都会计算字符串 "Array" 的 SHA1 哈希值
    • 所以,sha1($_POST['admin']) === sha1($_POST['root_pwd']) 的结果是 true

第三关:JSON 解析与变量比较

第三关的核心代码是:

if (isset($_POST['level_3'])) {$level_3 = json_decode($_POST['level_3']);if ($level_3->result == $result) {echo "success:".$flag;}else {echo "you never beat me!";}
}

关键点

  • 需要 POST 一个 JSON 字符串参数level_3
  • JSON 对象中的result属性值必须等于$result变量的值
  • $result变量在result.php文件中定义

绕过方法
通过测试发现$result变量的值为ioi,构造 JSON 字符串:

POST参数:level_3={result:ioi}

注意事项
标准 JSON 应该使用双引号包围键和字符串值,但 PHP 的json_decode函数在某些情况下可以容忍这种非标准格式。

完整 POC

将三个关卡的绕过方法组合起来,得到完整的 POC:

GET请求:http://node4.anna.nssctf.cn:28789/?aaa=%0apass_the_level_1%23POST数据:
admin[]=123
root_pwd[]=125
level_3={result:ioi}

总结

这个题目主要考察了以下几个 PHP 特性:

  1. 正则表达式匹配的边界条件和字符串构造技巧
  2. PHP 的弱类型比较和哈希函数对数组的特殊处理
  3. JSON 解析的灵活性和对非标准格式的容忍度

通过巧妙地构造参数,我们成功绕过了三关验证,获取了 flag。这也提醒我们在开发 PHP 应用时,需要特别注意这些语言特性可能带来的安全隐患。


文章转载自:

http://oTtV7uXw.qLLcp.cn
http://LSrkzHB4.qLLcp.cn
http://BWQ5F4Qj.qLLcp.cn
http://86tzVbGT.qLLcp.cn
http://TJqaOffD.qLLcp.cn
http://glJMpDDh.qLLcp.cn
http://nuu7gNND.qLLcp.cn
http://X2e4dFgV.qLLcp.cn
http://gsM0acMZ.qLLcp.cn
http://trq760zN.qLLcp.cn
http://jzwa7zMp.qLLcp.cn
http://h0ENlwLG.qLLcp.cn
http://icjI7Ll2.qLLcp.cn
http://JejxWTHw.qLLcp.cn
http://PKSLHGTW.qLLcp.cn
http://gPKyKGUP.qLLcp.cn
http://Ye6C2LcD.qLLcp.cn
http://wphvrh6I.qLLcp.cn
http://UKcqC15U.qLLcp.cn
http://LzeD9GY0.qLLcp.cn
http://j1z2x5m5.qLLcp.cn
http://1vJwhksO.qLLcp.cn
http://qeYqTSQP.qLLcp.cn
http://Mf7k8nl9.qLLcp.cn
http://OV3al4Wi.qLLcp.cn
http://qkBJJYpC.qLLcp.cn
http://Tqgv4f7S.qLLcp.cn
http://dIfLXFd0.qLLcp.cn
http://awnjZWDK.qLLcp.cn
http://qVOEjRaO.qLLcp.cn
http://www.dtcms.com/wzjs/772602.html

相关文章:

  • 网站设置的用途腾讯云wordpress博客
  • 怎么把网站管理系统wordpress用户密码原理
  • 网站图怎么做才能小而清晰广西建设网官网证书查询
  • 纺织厂网站模板网站开发是分为前端和后端吗
  • 视频网站程序模板本机iis发布网站后台管理
  • 上海企业网站开发运输 织梦网站模板
  • 企业网站都需要备案吗无限白嫖国外云服务器
  • 企业门户网站设计报告网站建设项目开发
  • 四平市建设局网站湖南常德红网百姓呼声
  • 网站建设服务费是否无形资产org域名注册
  • 哈尔滨网站开发公司多种语言网站
  • 营销网站建设的公司谷歌广告怎么投放
  • 有哪些做网站的公司好西宁市营销网站建设公司
  • 电子商城网站模板win8风格网站模板
  • 贵州城市和城乡建设官方网站那些做黑网站的都是团体还是个人
  • 建设电影会员网站太原网站建设维护
  • 怎样建立自己的网站国外客户推广网站
  • 做暧暧小视频免费网站51link友链
  • 便宜网站建设小程序开发官网
  • 衡阳营养师报考网站龙岗区住房和建设局在线网站
  • 用台电脑做网站欣赏别人做的网站
  • 杭州网站免费制作广州微网站建设怎么样
  • 河北网站备案多久制作图片的软件推荐
  • 大兴模版网站搭建哪家好织梦网站站标
  • 南通做百度网站的公司优化seo教程技术
  • 加强网站技术建设做网站建设业务员怎么样
  • 电子商务网站设计与建设aspcms中引文 网站修改配置
  • 微端网站开发麦肯锡咨询公司
  • 国内电商网站html源码做英文小工具网站赚钱
  • 济宁网站建设多少钱河池城乡住房和建设局网站