一则最简单的注入入侵

上一篇 / 下一篇  2015-06-06 15:25:42 / 个人分类:黑客

转自:http://bbs.fishc.com/thread-61714-1-1.html

目标:http://www.gbmypt.com
注入点:http://www.gbmypt.com/common.asp?id=1
老漏洞了, 不过在国内, 还有很多这样的漏洞。
判断是否有注入, 最简单的, 就是用and 1=1或and 1=2, 这个应大家都会。


我们先加一个分号在后面, 看一下页面返回什么。
http://www.gbmypt.com/common.asp?id=1

可以看到, 报错了, 看错误, 应是access类型的数据库
我们也可以在后面加and 1=1或and 1=2分别测试
当and 1=1时, 返回正确页面:



当and 1=2时, 返回的是错误页面:



还以为会返回点什么东西呢, 结果什么也没有, 但我们可以判断, 这是一个错误页面。
所以, 这时候我们可以确定, 这里存在注入。

对于access, 当我们确定有注入时, 可以用and exists(select * from 表名)来猜表。
http://www.gbmypt.com/common.asp?id=1and exists(select * from admin):


显示错误, 说明表猜错了。
现在我们猜一下admin_user表看看:



页面正常, 说明这时表已猜对了。
猜表其实很麻烦是吧, 一个一个猜, 猜到什么时候啊。
不过, 我们可以用工具去跑, 但这里先不说。

猜对表了, 我们要猜一下字段数, 用order by:

http://www.gbmypt.com/common.asp?id=1order by 5 时出现错误, 4时正确 , 所以确定字段数为4。






表名有了, 字段数有了, 再用union语句, 得到显示位:



看到页面上显示2, 3吗?这就是显示位, 这个时候, 我们可以把2, 3, 换成admin_user表中的字段名, 就可以显示它的内容。
比如, 对于admin_user表, 看名字, 应是管理员表, 里面应存在密码帐号, 而密码与帐号, 一般情况下, 都定义为user, password, user_name, user_password, passwd等形式。
在这里, 这是一个老漏洞了, 这个网页用的cms为xycms, 它默认的字段名叫user, password。 但如果不是呢, 那就要猜了, 怎么猜?有点麻烦。
如果真能猜的, 我觉得一定是没有防注入的, 那用工具跑还方便呢。你说呢?!

我们把2换成user, 把3换成password看看。


出错了。
那重新猜吧。 把2换成admin, 3换成password看看:



嗯, 猜对了, 对应的帐号密码应是:
帐号: guobiaomaoyi
密码: 8b53ece25c18745d7874851d976dc4ab
密码md5加密了, 去解解看。



解不了。
那后台登录暂时没办法了。
记得前几天, 用户不是这个的, 字段是user, password, 现在改了, 当时用户名是admin,现在也改了。
可能是前几天, 把它主页改了吧。

TAG:

 

评分:0

我来说两句

Open Toolbar