sql-labs服务器结构

双层服务器结构

一个是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博客

相关推荐
老纪的技术唠嗑局22 分钟前
经验分享 —— 在 Ubuntu 虚拟机中部署 OceanBase 数据库
数据库·ubuntu
深盾安全32 分钟前
逆向分析之if语句与循环语句的分析
安全
咖啡Beans1 小时前
MySQL中使用@符号定义用户变量
数据库·mysql
GreatSQL4 小时前
MySQL迁移至GreatSQL后,timestamp字段插入报错解析
数据库
expect7g5 小时前
COW、MOR、MOW
大数据·数据库·后端
DemonAvenger7 小时前
MySQL海量数据快速导入导出技巧:从实战到优化
数据库·mysql·性能优化
你的人类朋友18 小时前
什么是OpenSSL
后端·安全·程序员
支付宝体验科技1 天前
AI4SDL:支付宝业务应用研发安全保障体系建设实践
安全
薛定谔的算法1 天前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend1 天前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库