[Buuctf] [SUCTF2019]signin

博客主要围绕64位elf文件展开,先进行查壳,发现无壳后用64位IDA打开,找到主函数查看伪代码。分析其中一个函数可知其作用是返回字符串对应的ASCII码值,后续遇到不认识的函数,经分析判断是rsa加密,还提及可通过网站分解n值并上脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

1.查壳

在这里插入图片描述
64位elf文件,没有壳

2.用64位IDA打开

找到主函数,F5查看伪代码
在这里插入图片描述
有一个sub_96A函数对输入的字符串做了处理,双击进去看一下内容
在这里插入图片描述
对于熟悉汇编代码的人,这里应该是可以看出来的
这里右移四位把高四位放到低四位返回的是一个字节的高四位的值,然后下一行,& 0xF是把高四位清零了然后将低四位返回,其实就是把一个字符的ascii码值返回了。
这个函数的作用就是返回字符串对应的ASCII码值。
接着往下看,出现的是一堆不认识的函数,我们得去查他们的作用

 __gmpz_init_set_str(x,a,b):以b进制保存a到x中
__gmpz_powm(v6, v6, v5, v4); v6的v5次方再%v4存储到v6中
__gmpz_cmp(v6, v7);			比较,v6 == v7 返回0

这里就可以看出这是一个rsa加密,v7是密文
N=1034610359008169

### 关于BUUCTF登录问题及解决方法 #### 靶机启动与初步尝试 对于BUUCTF靶场中的登录挑战,当面对未知的用户名和密码组合时,可以采用多种策略来解决问题。如果题目描述暗示了默认账户的存在,则可以从常见的默认凭证入手进行试探。例如,在某些情况下,使用`admin/admin`作为初始尝试可能揭示部分信息,即使最终未能成功登录。 #### 使用工具辅助破解 针对特定条件下的暴力破解需求,如提示密码为四位数字的情况,利用自动化渗透测试工具能够显著提高效率并降低手动操作的风险。Burp Suite是一个强大的Web应用安全测试平台,其内置的功能模块Intruder非常适合执行这种类型的攻击[^2]。 - **配置代理环境**:确保浏览器已正确配置指向本地运行的Burp Suite实例,并验证网络连接正常工作。 - **捕获请求数据包**:向目标网站提交一次无效的身份验证尝试以获取完整的HTTP POST请求样本;此过程有助于后续分析表单结构以及参数名称等重要细节。 - **调整Intruder设置** - 将先前截取的数据包转发至Intruder组件内; - 定位到需要变动的部分(通常是password字段),标记它们以便稍后注入不同的值集; - 设定合适的负载类型(此处应选择Numbers),指定起始数值、结束界限以及其他必要选项(比如前缀/后缀字符); - 考虑服务器响应机制设定合理的并发数量与延迟间隔,避免触发防护措施而被封禁IP地址。 ```bash # 设置线程数为1, 时间间隔为100ms intruder.setThreads(1); intruder.setRequestDelay('100'); ``` #### 处理反制手段 在实际环境中实施暴力破解可能会遭遇来自应用程序本身的防御对策,包括但不限于速率限制、临时锁定账号甚至永久性屏蔽恶意流量源。为了绕过这些障碍物,建议采取更加谨慎的态度: - 实验不同模式下返回内容的变化规律,寻找可用于区分合法用户行为特征的关键差异点; - 如果有条件的话,还可以考虑引入更复杂的算法模型预测潜在的有效组合而非单纯枚举所有可能性。 通过上述步骤,应该能够在遵循道德准则的前提下有效地应对大多数基于弱认证机制设计的教学性质CTF竞赛场景中存在的登录难题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值