河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)
目录
写在最最前面
本人今天也是在和病毒抗争中,打今天的”金盾信安杯” 在加上能力有限,也做了这几道,望各位海涵 ❤
就把自己写了的几道的过程,思路分享给大家 希望对大家有帮助
Misc
Misc-qianda0_Sdoku
签到数独
无数字代表0 有数字代表1
转换成二进制
011100110111010101100100001100000110101101110101010111110110011001110101010011100
然后二进制转文本
在线网站
二进制转ASCLL码http://binary-to-ascii.bchrt.com/
得
flag{sud0ku_fuN}
Misc-盗梦空间
里面只有一个txt文件
先尝试base解码
转base91编码
转base64编码
转base85(b)编码
转base16解码
转base16解码
}neMnAnaiTgniJieBevoLI{galf
再前后倒一下
得flag
Flag{ILoveBeiJingTianAnMen}
Misc-Megmi
下载附件只有一张图片
有提示
直接百度
blessing software 不知道有什么用估计是密码或者密钥
先分析图片 发现分离不出来东西
那估计就是图片隐写加密钥的那种
第一个想到的就是outguess 那blessing software肯定就是密钥了
直接再kali里运行(没有空格了,之前弄的有空格,浪费了好长时间)(他这个题恶心就恶心在,在不管你输密钥是什么 他都会给你东西 他不会给你报密码错误)
outguess -k "blessingsoftware" -r Megumi.jpg 2.txt
得到
flag{Megumi-Kato}
Misc-数据泄露01-账号泄露追踪
题干
看样子是需要网上检索
题干说过项目名称可能有变化
经过多次尝试在github中 检索hongxiangjiao
网址https://github.com/tanyiqu66/hongxiangjiao
下载源码
在notepad++中对整个文件检索账号
得到
Flag{GBUfty0vMqlrGOdE}
Web
Web-eZphp2
F12查看源代码,得到提示
代码审计,构造payload。下划线被过滤了可以使用中括号绕过,php被过滤了使用短标签,经过测试发现eval没有被过滤
System等命令执行函数被过滤,使用scandir函数寻找flag。查看根目录下的文件,发现flag
使用show_source函数查看flag
得到
Web-EzPHP
使用dirsearch扫描后台,得到index.php.bak备份文件
进行代码审计,构造payload。[代替下划线
访问1.php看到允许远程包含
在vps服务器上写入一句话木马
在靶机写入包含代码
使用蚂剑连接靶机,找到flag
得到flag{01da2769- 2f74-4a86-a24e -967513e0b1f7}
Web-有来无回
根据题目描述访问xxe.php,得到提示
在自己的vps服务器上创建一个恶意的xxe.dtd文件,同时监听对应端口
构造payload。//我的vps服务器有点问题,监听不到返回信息,但是在返回包里面也可以查看
解码得到flag
得到flag
flag{tqxh8rvijg4jibuxuzfaarvq8esu24uz}
Crypto
Crypto-小菜一碟
RSA算法,已知p,q,e,c,求明文m?
根据公式m=pow(c,d,n),编写脚本并执行
#python3
import gmpy2 as gp
import binascii
p = gp.mpz( 123458435421261543472541524199731235574048053128601592828113156858256897602409067025674231465244054181972626266583815939142097971979228583114373452753144521115603696730578184251357134599421315099599143482519027549135311948601114584919768962463801005587816375776795616009077822359851656097169247116759791793687)
q = gp.mpz(97276963771653114294115524925680580949385827322024790734418230303283861043696849155355518555652095559285163994241670550744000225618126658988929239870027266570376465899405972982196485923500560008192041570421590766719044249315069438249987024660117501456707638758202318116109860915440658403715058758393977149729)
e = gp.mpz(2333)
c = gp.mpz(3091063916228464455521357922299851945733179824012337598325935431151534388234889582934719097957211574031506425780821664489121712504278835046257494105641946435467664631146730786295351188439182841680768531937382787335943965667714937822280848763425350089235645289384375623655179569897238696408868150422651859781815376696756981788347283996647604511187607188051598692339333337644956875630361418916795600637518633591481197783209020148212167599700531242494401774503456200889355439781332887736926823527200546226966803759767490748143939212274369822333951327997518975975960530675198444178464821237247544413301735105551687502988)
n = p*q
phi = (p-1) * (q-1)
d = gp.invert(e, phi)
m = pow(c, d, n)
print(m)
得出明文m转为字符串,执行后得到flag。
得到
flag {TheFIFAWorldCupQatar2022}
Crypto-RRSSAA
以上题为例,脚本带入p,q,e1,c1并执行
#python3
import gmpy2 as gp
import binascii
p = gp.mpz( )
q = gp.mpz()
e = gp.mpz()
c = gp.mpz()
n = p*q
phi = (p-1) * (q-1)
d = gp.invert(e, phi)
m = pow(c, d, n)
print(m)
得出明文m转为字符串,执行后得到flag。
得到
flag{m-co-pr1m3}
Crypto-simpleR
RSA加密,当e=2时,相当于把明文m平方而已,试着把c开根号,用gmpy2库开根号脚本代入e,c,执行后得到flag。
import gmpy2
import libnum
import libnum as libnum
c =
m = gmpy2.isqrt(c)
m = int(m)
m_text = libnum.n2s(m)
print(m_text)
得到
flag{efd90a18-7601-11ed-ac93-44af28a75237}
本人今天也是在和病毒抗争中,打今天的”金盾信安杯” 在加上能力有限,也做了这几道,望各位海涵 ❤