sql-labs服务器结构

双层服务器结构

sql-labs服务器结构_第1张图片

一个是tomcat的jsp服务器,一个是apache的php服务器,提供服务的是php服务器,只是tomcat向php服务器请求数据,php服务器返回数据给tomcat。

此处的29-32关都是这个结构,不是用docker拉取的镜像要搭建一下环境(tomcat、jdk、mysql-connector-java)。

大多数服务器对于参数解析的介绍

web服务器 参数获取函数 获取到的参数

php/apache

$GET('par')

last

jsp/tomcat

request.getparameter('par') first
perl(cgi)/apache param('par')

first

python/apache getvalue('par') all(list)
asp/iis request.querystring('par') all()comma-delimited string)

注意,index.jsp?id=1&id=2 请求,针对图中的服务器配置情况,客户端请求首先过 tomcat,tomcat 解析第一个参数,接下来 tomcat 去请求 php服务器,apache 解析最后一个参数。

返回参数应该是 id=2 的内容,应为时间上提供服务的是 apache(php)服务器,返回的数据也应该是 apache 处理的数据。而在我们实际应用中,也是有两层服务器的情况,我们往往在 tomcat 服务器处做数据过滤和处理,功能类似为一个 WAF。而正因为解析参数的不同,我们此处可以利用该原理绕过 WAF 的检测。该用法就是 HPP(HTTP Parameter Pollution),http 参数污染攻击的一个应用。HPP 可对服务器和客户端都能够造成一定的威胁。

Kali-linux-2020 sqli-labs环境配置(含网上最全Less-29在Kali上的配置)_kali部署less-CSDN博客

你可能感兴趣的:(sqli-labs,sql,数据库,web安全,网络安全,网络攻击模型,安全,系统安全)