负载均衡下webshell连接nginx解析漏洞、sql注入第一关

首先搭建环境找到php较低的版本改一下账号密码输入?id=1 正常

  1. 输入?id=1' 报错 ' .0 '

输入?id=1'--+ 正常

  1. 判断是字符型注入,闭合方式是'

  2. id是1后台看是数据表里第一行

    1. 查询id=1'出错前端打印出了报错信息语法错误这里是找到了库名,接下来是找表名这个方法是子里面把两个表连接在一起查询出的数据,当做一张表来进行查询,join是连接的意思,复查询去查询

    2. ?id=1' and 1=2 union select 1,2,group_concat(flag) from ctfshow.flag--+

nginx常用命令

安装nginx相应的库

配置文件在这里

这个页面在这里

如果后台有无数个服务器,想让他落在固定的服务器上应该怎么做?

就得用ip_hash算法把落点落在一台服务器上

服务器session文件记录登录名邮箱登录时间等,记录完把这个文件名返回客户端,客户端在浏览器中有一个cookie(可当小型数据库)然后记录下这个文件名sessionid

clone一下蚁剑

直接wget下载docker工具

RCE(remote command exec 远程命令执行)命令执行漏洞可以直接生成一个webshell

发现是有ant的接触参数

然后连接目标,因为两台节点都在相同的位置存在 ant.jsp,所以连接的时候也没出现什么异常。一旦有一台机器上没有,那么在请求轮到这台机器上的时候,就会出现 404错误,影响使用一是的,这就是你出现一会儿正常,一会儿错误的原因。这是负载均衡的问题

就会漂移很多次。无法知道下次请求交给哪台机器

1、关机或者停服

首先在测试阶段,我们可以关闭一台服务器,只保留一台机器,因为健康检查机制的存在,很快其它的节点就会被 nginx 从池子里踢出去,那么妥妥的就能继续了。 但在真实项目中,是不允许的,会严重影响业务。

2就是先判断IP要不要执行

MYIP=`ifconfig | grep "inet 172" | awk '{print $2}'`

if [$MYIP == "172.19.0.2" ]; then

echo "Node1. I will execute command.\n=======\n"

ifconfig

else

echo "Other. Try again."

fi

root@ae64558c1d47:/usr/local/tomcat# apt-get intstall net-tools

将脚本上传后,访问如果是0.2ip地址,就执行脚本

nginx解析漏洞:该漏洞与Nginx、php版本无关,属于用户配置不当造成的解漏洞。

直接执行 docker compose up-d 启动容器,无需编译。

正常访问

url加不存在的文件名会出现乱码 当访问一个不存在的文件名时,会自动将上一级目录寻找文件按照php形式解析,而图片中含有一句话木马,所以出现上述页面

相关推荐
wenxiaocsdn2 分钟前
某科技局国产服务器PVE虚拟化技术文档
运维·服务器
深圳安锐科技有限公司1 小时前
首次接触结构安全自动化监测系统,价格高吗?后期维护?
运维·自动化
冬天vs不冷1 小时前
Linux用户与权限管理详解
linux·运维·chrome
凯子坚持 c2 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
摸鱼也很难5 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
woshilys6 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛6 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程7 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
Michaelwubo8 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
努力--坚持9 小时前
电商项目-网站首页高可用(一)
nginx·lua·openresty