CTF
信息搜集
git
常用 Git 命令清单 - 阮一峰的网络日志 (ruanyifeng.com)
-
拉取仓库
git clone https://github.com/××××××××××/Algorithm.git
-
暂存
git add .
-
提交
git commit -m "注释"
-
上传
git push
-
查看日志
git log
-
拉取远程修改
git pull
上传github步骤:
先在github创建一个空的仓库,获得它的URL
git init
git remote add origin 远程仓库URL
git add .
git commit -m "提交注释"
git push origin 分支名
获取网站源码,敏感目录泄露
先用dirsearch爆破所有文件以及目录:https://github.com/maurosoria/dirsearch
看到目录中包含.git文件,猜测是git文件泄露,使用以下两个工具:
工具1:scrabble工具:项目目录预览 - scrabble - GitCode
工具2:GitHacker:https://github.com/WangYihang/GitHacker
看到源码之后ls,查看所有文件,查看flag
如果出现“flag is old”,则git log -stat,然后git reset —hard commit-id。
敏感备份文件泄露
-
gedit备份文件:gedit编辑器保存后,当前目录下会生成一个后缀为“~”的文件,其文件就是刚才编辑的内容
-
vim备份文件:当编辑文件但意外退出时(命令行卡死而意外退出),会在当前目录下生成一个备份文件,.文件名.swp
恢复此文件办法:加入要恢复.flag.swp文件,首先在当前目录下创建一个flag文件,再使用“vim -r flag”即可得到备份文件内容
-
常规文件
- robots.txt:记录一些内容和CMS版本信息
- readme.md:记录一些内容和CMS版本信息,有的甚至有github地址
- www.zip/rar/tar.gz:往往是网站的源码备份
-
总结经验
#!/bin/bash # 设置要监控的目录 monitor_dir="/path/to/your/website" # 检测特定后缀的文件 find $monitor_dir -type f \( -name "*.swp" -o -name "*.swo" -o -name "*.swn" -o -name "*.un*" \) -print
SQL注入
数字型注入&&UNION注入
小知识:数据库information_schema
MySQL 5.0版本后,默认自带的一个数据库。
里面包含所有数据库名、表名、字段名以及访问权限等等。
利用手段
- 找到输入的参数点,然后通过加减乘除等运算,判断出输入参数附近没有引号包裹;
- 再通过UNION或者其他SQL语句获取数据库中的其他敏感信息