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

Tplmap 使用

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

工具简介

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 使用” 的相关文章

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

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

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

小讲堂心得

小讲堂心得

参加小讲堂活动,是受邀两位学习部的同学十分热情的邀请,为同学们讲讲网络安全方面的知识。我感到十分荣幸,但又有些许担忧,怕讲不好,因为网络安全这个学科涉及的知识面十分宽泛,网络安全从其本质上来讲就是网络上的信息安全。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理...

(原创)还在用软件翻墙?看我几秒搞定!

首先说下原理,修改设备 hosts 文件信息,将各大国外网站域名直接指向服务器 ip,绕过国家的 GFW 防火墙,从而可以访问 Google、Facebook、ebay、YouTube、Yahoo、、、太多还是不打了,自己测试-------------------------------------...

(原创)sqlmap 注入初级教程 [sqlmap][sqlmap 指令][sqlmap 怎么用]

(原创)sqlmap 注入初级教程 [sqlmap][sqlmap 指令][sqlmap 怎么用]

一、熟悉 sqlmap 之路:核心注入场景与方法1. Sqlmap 之 Post 注入Post 注入适用于表单提交(如登录页、数据提交页)等场景,核心是通过抓取 Post 请求数据进行注入测试,以下为 4 种常用方法:方法一:基于请求文件(-r 参数)# 基础用法(请求文件与sqlmap同目录)sq...

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

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

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

(原创)web 渗透实例之克市教育局内网渗透 — 市十六小

(原创)web 渗透实例之克市教育局内网渗透 — 市十六小

引言下午元旦搞活动不上课,在机房浪一波。想到上次内网提权了学校饭卡管理服务器,便把 bugscan 的节点加到这个服务器了 —— 因为该服务器处于教育局内网,bugscan 直接扫出来了很多内网 IP 的网站,渗透了一波,如市三中、新一中、十八小、十六小等等。之前暑假对教育局 web 站点渗透都是外...