XCTF 攻防世界 WEB练习题6-10

本文介绍了网络安全场景中的弱密码爆破技术,使用BurpSuite进行登录凭证的暴力破解,并展示了如何利用PHP的弱类型比较绕过is_numeric函数。此外,还讲解了GET和POST请求的区别,以及如何通过修改X-Forwarded-For和Referer头部信息来满足特定条件。最后,提到了一句话木马的利用,通过蚁剑获取Webshell。

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

6、weak_auth

 首先进入场景,发现如下的界面

我们先随意进行尝试,输入一个用户名和密码,出现了如下页面

 系统提示我们,用户名为admin,那接下来的工作则是破解密码

注:这里我们需要用到burp suite进行弱密码爆破

*弱密码爆破步骤

1.首先我们填入已知的用户名和一个随意的密码,打开代理,点击login抓包

2.进入intruder中

①确定代理和端口

②取消选中用户名部分

③载入一个弱密码字典进行爆破弱类型密码

④点击开攻击,通过对返回长度的不同,来辨别正确密码 

最后就是将已知的用户名和密码填入,即可夺旗

弱密码爆破参考 BurpSuite系列(五)----Intruder模块(暴力破解)_fendo-优快云博客

附个字典 GitHub - rootphantomer/Blasting_dictionary: 爆破字典

7、simple_php

打开场景之后我们得到了如下代码 

经过简单分析,可以得出以下结论:

(1)这里的a,b均为url接收参数get的方式
(2)$a等于0 and $a,输出$flag1
(3)$b是数字或者数字字符串会直接退出
(4)$b>1234,输出$flag2
所以我们就需要绕过这个is_numeric判断函数,这就要用php的弱类型比较

令 a=a&b=1235a即可

8、get_post

打开环境,得到如下题目

get方式

根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的查询字符串(名称/值对)是在 GET 请求的 URL 中发送的

该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

我们利用Hackbar向请求的URL发送a=1即可

发送成功后会得到第二个题目

我们再看POST方法 

查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的

POST表示可能修改变服务器上的资源的请求,

以POST方式传输,则参数会被打包在数据报中传送给server,并可从CONTENT_LENGTH这个环境变量中读取出来。

我们继续在Hackbar中选择POST选项,发送b=2即可

9、xff_referer

xff:即X-Forwarded-For(header里面的一部分) 就是浏览器访问一个网站的ip地址

详情可见

xff(x-forwarded-for)介绍,某些ctf题目中的利用_highgerm's free time-优快云博客

referer:一个链接或者网页的来源

详情见

什么是HTTP Referer?_weixin_34128839的博客-优快云博客

接下来我们看题

题目要求ip地址必须为123.123.123.123,我们可以利用 浏览器扩展X-Forwarded-For Header直接修改ip地址

 修改完ip地址我们发现题目要求必须来自谷歌

我们利用Hackbar修改来源

 即可得到flag

10、webshell

看题目

 一眼看出这是一个一句话木马,我们利用蚁剑直接添加数据获取flag

 

 

 

### XCTF WEB进阶 Fakebook 解题报告 #### 源码分析 Fakebook 类似于社交网络平台,在此环境中存在多个功能模块,包括但不限于用户注册、登录以及个人信息管理等功能。通过查看源代码发现,该应用可能存在多种安全漏洞。 对于假想的 `fakebook` 平台而言,其核心逻辑通常围绕着用户的会话管理和数据交互展开。假设存在如下简化版 PHP 伪代码表示部分关键业务流程: ```php <?php class User { public $username; public $password; function login($input_username, $input_password){ // 存在一个潜在的安全隐患:未对输入做严格验证 if ($this->username === $input_username && md5($input_password) === $this->password){ $_SESSION['logged_in'] = true; return "Login successful"; } return "Invalid credentials"; } } ?> ``` 上述代码片段展示了用户认证过程中可能存在的安全隐患——使用弱哈希算法 MD5 对密码进行了处理[^1]。 #### 安全问题剖析 基于以上描述可以推测出几个主要攻击面: - **弱哈希函数**:MD5 已经被证明不再适合用于保护敏感信息,因为它容易受到碰撞攻击的影响。 - **缺乏输入过滤机制**:未能有效防止恶意字符进入系统内部,这可能导致 SQL 注入或其他类型的注入攻击发生。 - **不恰当的错误消息返回**:当用户名或密码错误时给出的具体提示可能会帮助攻击者缩小猜测范围。 #### 利用技巧 针对这些弱点,参赛选手可以从以下几个方面入手尝试突破并解决问题: - 尝试暴力破解或者彩虹表查找已知 MD5 值对应的原始字符串; - 测试是否存在其他形式的数据注入风险点,比如 URL 参数、POST 请求体内的字段等位置; - 探索是否有任何地方暴露出过多调试信息给外部访问者利用; 成功完成挑战后一般可以获得 flag 或者进一步的操作权限作为奖励。 #### 复现过程 为了模拟真实的渗透测试场景,建议按照以下方式构建实验环境来进行练习: 1. 构建一个类似的 Web 应用程序框架,确保其中包含了所有必要的组件和服务依赖关系; 2. 实施相应的防护措施来抵御常见的Web 攻击手段,如 XSS 和 CSRF 等; 3. 使用工具辅助自动化执行某些特定任务,例如 Hydra 可以用来实施字典攻击尝试登陆接口; 4. 记录每一步操作细节以便后续总结经验教训,并分享给社区成员共同学习进步。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫糖丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值