攻防世界-web-bug

1. 问题描述

没有额外的描述,仅仅是这样的一个登录界面

但是,我们注意到有注册(Register)和找回密码(Findpwd)这俩按钮

注册界面如下:需要输入用户名,密码,生日及地址

找回密码界面如下:需要输入用户名,生日和地址

整体暂时就这些信息了

2. 思路分析

先注册一个账号

注册完后进行登录,可以看到在Personal板块可以看到自己的个人信息

但是没有Manage的权限

好吧,果然是权限不足,那么接下来的目标很明确了,就是获取到admin的权限。这里有两个思路

1. 看是否存在sql注入

2. 既然有找回密码功能,那么看找回密码是否存在逻辑漏洞(这也是实际中常见的一种逻辑漏洞,如果找回密码对用户身份校验不严格,那么容易造成重置别人的密码)

3. 解题过程

3.1 看是否存在sql注入

我这里只是试了下参数uid,这个参数无法sql注入。我这边没有验证其它的参数,不过大家可以试下其它的看是否存在sql注入(根据经验,这种难度的题一般不会是一道简单的sql注入题,所以我这边优先尝试重置密码,当然,重置密码不行,那么就继续分析这里)

3.2 看重置密码是否存在逻辑绕过

第一步:验证身份,我们将我们注册的用户输入进去

第二步:验证成功后,进入到设置新密码的界面

第三步:截取该请求包,修改用户名为admin

可以看到,这里返回重置成功

然后,我们使用admin账号登录看看(密码已经被我们重置成123456了),可以看到,已经登录成功了

登录后,我们发现还是打不开Manage板块,提示IP不允许

这里的IP应该是客户端的IP,这里涉及到的一个知识点是X-Forwarded-For头部字段,用于记录客户端的IP地址,这个头部字段是可以篡改的,我们将该字段加到请求里面,并设置成127.0.0.1

发现还是没有获取到flag,但是返回界面有如下提示

这里说明还有一个隐藏的filemanage模块,该模块有个参数为do可以做文章,我们试试调用该接口

尝试了很多do,发现都是提示操作不正确

这个操作的信息如何获取呢? 这里暂时没有啥思路了,猜了半天没猜出来,看了网上的解法才发现这里是upload

一个文件上传界面,我们看是否能上传一句话木马

果然,这里还是有WAF,限制了上传php,看是否能绕过去,这里尝试了很多绕过方法,最后参考网上做法,使用php5格式文件绕过,这种只需要上传文件即可绕过php的校验并直接获取到flag,当然

最终获取到的flag为cyberpeace{1ee673fcb5dabfca1701e61dadcb4f74}

4. 总结

这道题算是一道综合题,涉及到的知识点非常多:

  1. 重置密码逻辑漏洞

  2. IP限制绕过

  3. 文件上传漏洞及其绕过方式

这些问题一环扣一环,必须解决前面的问题才会给到下一个问题的线索。最终获取flag的过程也是一波三折。非常适合提升自己的安全能力

相关推荐
网安蟹佬霸2 小时前
SSRF服务端请求伪造攻防实战:从内网穿透到云元数据利用
sql·web安全·网络安全·自动化·网安
白猫不黑3 小时前
AI Agent自动化渗透测试实战:从原理到红队实践
运维·人工智能·web安全·网络安全·信息安全·渗透测试·自动化
Rain的Java大神之路14 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
姚青&15 小时前
测试流程搭建
测试用例·bug·jira
mmsx19 小时前
return false 不是拦截:一次按键触发两个动作的事件冒泡陷阱
android·bug
一只鹿鹿鹿1 天前
数据资产管理解决方案(Word文件)
大数据·数据库·安全·web安全·系统安全
Sagittarius_A*1 天前
【好靶场】PHP反序列化入门练习2
开发语言·web安全·信息安全·php·代码审计·反序列化
Chengbei112 天前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
随风丶飘2 天前
[特殊字符] 告别“update“和“fix bug“——Smart Git Commit LLM 让 AI 帮你写专业的 Git 提交信息
人工智能·git·bug
czhc11400756632 天前
崩溃复查与“回声“bug:异常码判案、漏网之鱼和耳塞开关
bug