使用curl模拟登陆zabbix
任何模拟登陆都分为三步:
1.获取该网站的cookie,记录请求连接、请求数据
2.模拟登陆
3.验证
最核心的思想就是浏览器怎么访问,我们也怎么访问
带验证码的网站无法通过shell模拟登陆
1.获取zabbix网站cookie值
首先访问zabbix首页,按f12进入调试页面,故意输错一个密码,这样就能得到请求文件了
1.1.获取URL地址
请求文件如何找,这里教一个小妙招,每一个都点一遍,包含from data的就是
http://192.168.81.210/zabbix/index.php
1.2.获取传输的数据
找到from data后点击view source,这样就能拿到解析之前的数据了
name=Admin&password=sdhj&autologin=1&enter=Sign+in
2.模拟登陆zabbix
2.1.安装nginx(用于稍后验证用)
随便找一台安装即可
1.安装nginx [root@192_168_81_220 ~]# yum -y install nginx 2.创建站点目录 [root@192_168_81_220 ~]# mkdir /data/test 3.配置站点配置文件 [root@192_168_81_220 ~]# vim /etc/nginx/conf.d/test.conf server { listen 80; server_name jiangxl.com; location / { root /data/test; index index.html; } } 4.重启nginx [root@192_168_81_220 ~]# systemctl restart nginx
2.2.模拟登陆zabbix
curl -b cookies -c cookies -L -d ‘发送的值’ “zabbix站点” > index.html
-b 保存cookies
-c:将cookie写入到一个文件
-L:表示追踪访问
-d:传输数据
[root@192_168_81_220 test]# curl -b cookies -c cookies -L -d "name=Admin&password=zabbix&autologin=1&enter=Sign+in" "http://192.168.81.210/zabbix/index.php" > index.html [root@192_168_81_220 test]# ls cookies index.html
2.3.访问zabbix并优化页面显示
已经可以看到数据了,但是太丑了,我们将js文件下载下来
首先查看css文件的路径,然后在下载
我是在客户端上搭建的nginx,因此需要下载zabbix服务端的这个文件
1.只需要把地址改成服务端的地址即可 [root@192_168_81_220 test]# wget http://192.168.81.210/zabbix/assets/styles/blue-theme.css 2.创建文件所在目录 [root@192_168_81_220 test]# mkdir -p assets/styles/ [root@192_168_81_220 test]# mv blue-theme.css assets/styles/
再次刷新就可以看到样式了
2.4.下载主机配置文件,模拟查看
首先登陆zabbix server端,找到主机页面,按f12找到对应文件即可
[root@192_168_81_220 test]# curl -b cookies -c cookie -L "http://192.168.81.210/zabbix/hosts.php?ddreset=1" > host.html