IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> [2021江西省赛高校组]wp -> 正文阅读

[Python知识库][2021江西省赛高校组]wp

easyphp

前端代码泄露

foreach ($_POST as $item => $value){
    $$item=$$value;
    $secret = $$item;
}
foreach ($_GET as $key => $value){
    if ($key=='flag'){
        $str=$value;
        $$str=$secret;
    }
}
if (isset($hehe)){
    echo "<center>".$hehe."</center>";
}
//flag+flaag=DASCTF{XXXXXXX}

简单的变量覆盖
要搞出flag和flaag,直接post hehe=xxx就可以了
由这个语句$$item=$$value;会让变量覆盖成这样:$hehe=$flag
post

hehe=flag
hehe=flaag

funny_game

简单的前端游戏而已
直接去翻js文件,找到判断条件
在这里插入图片描述
这个变量手解肯定是没必要而且很难的,直接丢控制台运行就可以了
在这里插入图片描述

SellSystem

js文件里面翻到
在这里插入图片描述
aes加密,密钥泄露了:1234567890123456
注入点在api.php的data
先扒下这个js文件,上到本地做测试
首先看这里是有waf的
其次这里考察的是mysql空字符及弱类型
在这里插入图片描述
其实就是这样,’’ 空和0做了比较,空做四则运算的时候被当做0,从而变成where 1,永真了
在这里插入图片描述

然后第二个点在这个注释符,#和–+都过滤了,由于这里还是要走一遍js,所以这里可以用/u0000来做截断
然后limit1,1逗号被过滤了,可以用offset
在这里插入图片描述
构造payload
在这里插入图片描述

LWtr0YEO0u8CXrwoX6IkthtdhasEBIeHsBZMzuYEynWVlRXhbbinBSufrVOXvbDt

在这里插入图片描述

extractall

每一个压缩文件的文件名就是里面压缩包的密码,可以直接用python脚本来操作

import zipfile

name = '1RGe0V.zip'
for i in range(10000000):
    f = zipfile.ZipFile(name , 'r')
    f.extractall(pwd=name[:-4].encode())
    name = f.filelist[0].filename[:10]
    print(name)
    f.close()

解压到最后得到flag.txt和一个图片
flag.txt是没用的,图片看起来就是下面被截了一段,010拉长出来就行
在这里插入图片描述
百度识图看看,就是斐波那契
然后看了一下这些压缩文件很像base64,全部按顺序读取一下,脚本用上面的脚本改改就行

[REFTQ1RGe0V4dHJhYeht8on3RhbGx8smjtqzmckitfSXNfU9rskp5a93su6al0o68p0l2vq29fRnVfco9e27ztjkabvn8taa27s40dxzk1lyq6ik4gec9blufQ==]
看着有头有尾的
在这里插入图片描述
就是中间的乱七八糟的,试了很多加密算法,后来发现是斐波那契提取,还是想复杂了
注意是每个文件每个文件的提取,不是一个一个字母的提取
1 2 3 5 8 13 21 刚好到21

REFTQ 1RGe0V 4dHJhY eht8on 3RhbGx 8smjtq zmckit fSXNfU 9rskp5 a93su6 al0o68 p0l2vq 29fRnV fco9e2 7ztjka bvn8ta a27s40 dxzk1l yq6ik4 gec9bl ufQ==
提取出是这样

REFTQ1RGe0V4dHJhY3RhbGxfSXNfU29fRnVufQ==

解码成
在这里插入图片描述

easy_usb

键盘流量提取出是这些

i<SPACE>heard<SPACE>you<SPACE>had<SPACE>the<SPACE>flag<RET>00<RET>how<SPACE>can<SPACE>i<SPACE>get<SPACE>the<SPACE>flag<RET>000000000000<RET>i<SPACE>know<SPACE>so<SPACE>what<SPACE>is<SPACE>the<SPACE>flag<RET>000000000000000then<SPACE>md5<SPACE>the<SPACE>capital<SPACE>letters<RET>0000000000000000<RET><DEL><DEL><RET>

美化一下

i heard you had the flag
00
how can i get the flag
000000000000
i know so
what is the flag
000000000000000then md5 the capital letters 0000000000000000
<DEL><DEL>

这里出现了很多0,不知道什么意思,先去流量包看看
先到linux里面执行一些这个,把捕获的数据提取并删去空行

tshark -r tmp.pcap -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt

发现
在这里插入图片描述
这个很奇怪,不是键盘流量,也不是鼠标流量,这就有意思了,足足20个字节
然后就应该要去设备,xbox360,手柄,可以
在这里插入图片描述
可以参考这个
对照表
在这里插入图片描述
提取出的数据

YYYYYYAA XXAA YYYYBBAA
YYYYXXBBAA YY XXAA YYXXBB YYYYYYAA YYXXBBAA YYYYXXAA YYBBAA YYXXBB YYXXBBAA YYYYXXBBAA YYXXAA XXAA 
XXBB YYXX AA XXBBAA YYAA YYYYBBAA AA BB YYXXBBAA YYYYYY YYXXBBAA XXBB YYYYYY BB YYXXBBAA YYYYYY 
XX YYXXBBAA YYXXBB YYXXBBAA YYYYXX XXBB YYXXBBAA YYYYBB XXBBAA XXAA YYYYXX XX AA YYYYBBAA BBAA YYYYXX YYBB 
XXBB

我苦思冥想的想是不是用个什么输入法,,一直到比赛结束都没弄出来

比赛结束,看到群里有师傅提示了
在这里插入图片描述
漂亮!。。。。
继续写个脚本跑

with open('usbdata.txt','r') as f:
    data = f.readlines()
a = []
for i in range(0,660,2):
    if (data[i][6:7]!='0'):
        print(data[i][6:7],end='')
        continue
    elif(data[i][5:6]=='8'):
        print("")
    elif(data[i][5:6]=='7'):
        print("#",end="")

得到下面的结果

8881#41#8821
88421#8#41#842#8881#8421#8841#821#842#8421#88421#841#41
42#84#1#421#81#8821#1#2#8421#888#8421#42#888#2#8421#888
4#8421#842#8421#884#42#8421#882#421#41#884#4#1#8821#21#884#82
42

云影密码解密

s = input()
a = s.split("#")
sum = 0
for i in a:
    for each in i:
        sum += int(each)
    print(chr(sum+96),end="")
    sum = 0
yes
whenyouknowme
flagisaboxofxbox
donotforgetdasctf

对话就是

i heard you had the flag
yes
how can i get the flag
when you know me
i know so
what is the flag
flag is aboxofxbox then md5 the capital letters
donot forget dasctf

flag就是MD5这个字符串:ABOXOFXBOX
然后套上dasctf{}

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:37:41  更:2021-10-02 14:37:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 8:16:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计