首页 > 数据库技术 > 详细

Sqli-labs Background-6 服务器(两层)架构

时间:2020-04-09 22:32:03      阅读:98      评论:0      收藏:0      [点我收藏+]

首先介绍一下29,30,31这三关的基本情况:

技术分享图片

服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务的是php服务器。工作流程为:client访问服务器,能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据。数据返回路径则相反。

此处简单介绍一下相关环境的搭建。环境为ubuntu14.04。此处以我搭建的环境为例,我们需要下载三个东西:tomcat服务器、jdk、mysql-connector-java.分别安装,此处要注意jdk安装后要export环境变量,mysql-connector-java需要将jar文件复制到jdk的相关目录中。接下来将tomcat-files.zip解压到tomcat服务器webapp/ROOT目录下,此处需要说明的是需要修改源代码中正确的路径和mysql用户名密码。到这里我们就可以正常访问29-32关了。(PS:我没有这样做,我还是用的Windows+wamp环境)

重点:index.php?id=1&id=2,你猜猜到底是显示id=1的数据还是显示id=2的?

Explain:apache(php)解析最后一个参数,即显示id=2的内容。Tomcat(jsp)解析第一个参数,即显示id=1的内容。

技术分享图片

以上图片为大多数服务器对于参数解析的介绍。

此处我们想一个问题:index.jsp?id=1&id=2请求,针对第一张图中的服务器配置情况,客户端请求首先过tomcat,tomcat解析第一个参数,接下来tomcat去请求apache(php)服务器,apache解析最后一个参数。那最终返回客户端的应该是哪个参数?

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

 

参考:https://www.cnblogs.com/lcamry/p/5762961.html

Sqli-labs Background-6 服务器(两层)架构

原文:https://www.cnblogs.com/zhengna/p/12655609.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!