[ACTF新生赛2020]SoulLike

[ACTF新生赛2020]SoulLike

一、查壳

无壳,64位

二、IDA分析
1.main

一眼看到关键函数sub_83A

2.sub_83A

显示不出来,搜了一下解决方法:

找到ida目录中的cfg的hexrays.cfg点击进去将MAX_FUNCSIZE 由64修改为1024,在打开ida点击sub_83A就可以了。

sub_83A:

好长,看到最后面:一大堆异或,最后再比较。

三、写脚本
 
#1.使用pwntools直接穷举:
 from pwn import *
 flag="actf{"
 k=0
 for n in range(12):
     for i in range(33,127):
         p=process("./SoulLike")
         _flag=flag+chr(i)
         print(_flag)
         p.sendline(_flag)
         s=p.recvline().decode()
  
         if "on #" in s:
             r=int(s.split("on #")[1].split("\n")[0])
             if r==k+1:
                 print(s)
                 flag+=chr(i)
                 k+=1
         p.close()
 print(flag)
 #2.使用angr
 import angr
 base_addr=0x400000
 p=angr.Project("SoulLike",auto_load_libs=False,main_opts={"base_addr":base_addr})
  
 init_state=p.factory.entry_state()
 sm=p.factory.simgr(init_state)
 sm.explore(find=base_addr+0x1117d)
 if sm.found:
     found_state=sm.found[0]
     found_state.posix.dumps(0)
     print("success")
 else:
     raise Exception("no")

最后flag{b0Nf|Re_LiT!}

### BUUCTF ACTF 新生 2020 Upload 题目解题报告 #### 文件上传漏洞概述 文件上传漏洞是指攻击者能够通过应用程序中的文件上传功能,向服务器上传恶意文件并执行特定操作的一种安全缺陷。这类漏洞通常涉及绕过文件类型验证、大小限制以及路径遍历等问题。 #### 题目描述 本题目来自BUUCTF平台上的ACTF新生2020事,名为`Upload-1`。参选手需要利用页面中存在的文件上传机制实现对目标系统的控制或数据获取[^1]。 #### 页面交互分析 访问给定链接后会看到一个带有灯泡图标的网页,在悬停于该图标之上时会出现用于触发文件选择对话框的区域。此设计隐藏了实际的功能入口点,增加了挑战难度[^2]。 #### 利用方法 为了成功完成任务,可以采取以下策略: - **准备测试环境**:搭建本地模拟服务端口监听工具(如Burp Suite),以便监控HTTP请求过程。 - **构造特殊文件**:创建一个小巧精悍的一句话PHP木马脚本作为待上传对象;确保其内容合法且不会被简单过滤规则阻挡。 ```php <?php @eval($_POST['cmd']);?> ``` - **规避检测措施**:修改文件扩展名或将有效载荷嵌入图片元数据内等方式尝试绕过潜在的安全防护手段。 - **提交表单并确认响应结果**:按照提示指引完成整个流程直至获得预期反馈信息为止。 #### 获取Flag 一旦上述步骤顺利完成,则可通过蚁剑等客户端软件建立远程连接至已植入webshell的目标主机,并在其根目录下定位到名为`flag`的关键文档。双击打开即可见最终答案字符串:`flag{d752d02c-324d-47e7-9b05-87d652492eb4}`[^3]。 #### 技术要点总结 此类竞项目主要考察参与者对于常见Web应用风险的认知程度及其动手实践能力,具体包括但不限于以下几个方面: - 对各种编程语言特性的深刻理解; - 掌握多种调试技巧以辅助逆向工程工作; - 能够灵活运用第三方插件提高效率降低复杂度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值