河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)

目录

写在最最前面

Misc

Misc-qianda0_Sdoku​编辑

Misc-盗梦空间

Misc-Megmi

Misc-数据泄露01-账号泄露追踪

Web

Web-eZphp2

Web-EzPHP

Web-有来无回

Crypto

Crypto-小菜一碟

Crypto-RRSSAA​编辑

Crypto-simpleR

加油各位( •̀ ω •́ )y 期待与君再相逢


写在最最前面

本人今天也是在和病毒抗争中,打今天的金盾信安杯” 在加上能力有限,也做了这几道,望各位海涵 ❤

就把自己写了的几道的过程,思路分享给大家 希望对大家有帮助

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}

本人今天也是在和病毒抗争中,打今天的金盾信安杯” 在加上能力有限,也做了这几道,望各位海涵 ❤

加油各位( •̀ ω •́ )y 期待与君再相逢

posted @ 2022-12-19 01:30  路baby  阅读(282)  评论(0编辑  收藏  举报