黑客X档案官方论坛's Archiver

wanghang37 发表于 2008-1-11 13:08

Dvbbs8.1 0DAY(通杀access和mssql版本)

转帖
Doom ps: 前个星期在DST QQ群中说DVBBS8.1的有0day了,现在信了吧,
有人发布了,也不藏了,发布给大家吧
看代码UserPay.asp行12-64
程序代码
If Request("raction")="alipay_return" Then
AliPay_Return()
Dvbbs.Footer()
Response.End
ElseIf Request("action")="alipay_return" Then
AliPay_Return()
Dvbbs.Footer()
Response.End
'ElseIf Request("action")="Re_inmoney" Then
' Re_inmoney()
' Dvbbs.Footer()
' Response.End
End If

无论用户提交的raction为alipay_return还是action为alipay_return都调用了AliPay_Return()过程。AliPay_Return()的代码原型在行329-351,代码如下:
程序代码
Sub AliPay_Return()
If Dvbbs.Forum_ChanSetting(5) <> "0" Then
AliPay_Return_Old()
Exit sub
Else
Dim Rs,Order_No,EnCodeStr,UserInMoney
order_No=Request("out_trade_no")
Set Rs = Dvbbs.Execute("Select * From [Dv_ChanOrders] Where O_IsSuc=3 And O_PayCode='"&Order_No&"'")
If not(Rs.Eof And Rs.Bof) Then
AliPay_Return_Old()
Exit sub
End if
Response.Clear
Set Rs = Dvbbs.Execute("Select * From [Dv_ChanOrders] Where O_IsSuc=0 And O_PayCode='"&Order_No&"'")
If Rs.Eof And Rs.Bof Then
Response.Write "N"
Else
Response.Write "Y"
Dvbbs.Execute("Update Dv_ChanOrders Set O_IsSuc=3 Where O_ID = " & Rs("O_ID"))
End If
Response.End
End If
End Sub

如果Dvbbs.Forum_ChanSetting(5) <> "0" 就执行下面的sql语句,我们来看看数据库里默认的Forum_ChanSetting吧。
1,1,0,0,[email]pay@aspsky.net[/email],0,b63uvb8nsvsmbsaxszgvdr6svyus0l4t,1,1,1,1,1,1,1,100,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Forum_ChanSetting(5)缺省为0,好了你接着看就会笑了
order_No=Request("out_trade_no")
Set Rs = Dvbbs.Execute("Select * From [Dv_ChanOrders] Where O_IsSuc=3 And O_PayCode='"&Order_No&"'")
直接把获取的Order_No放到sql里面去了。
回顾一下DVbbs8.0的Userpay.asp同样一个函数看代码
程序代码
Sub AliPay_Return()
If Dvbbs.Forum_ChanSetting(5) <> "0" Then
AliPay_Return_Old()
Else
Response.Clear
Dim Rs,Order_No,EnCodeStr,UserInMoney
order_No = Dvbbs.CheckStr(Request("order_no"))
Set Rs = Dvbbs.Execute("Select * From Dv_ChanOrders Where O_IsSuc=0 And O_PayCode = '"&Order_No&"'")
If Rs.Eof And Rs.Bof Then
Response.Write "N"

可以看出Order_No用CheckStr处理了,不存在sql注入漏洞,为什么到了新版本反而就直接放行了呢?莫非是笔误?
如果你和我一样懒,并不想精心构造语句去搞破坏,只是试图去说明这个地方不安全,用下面的链接验证下看看
吧(需要登录)
UserPay.asp?raction=alipay_return&out_trade_no=1'
返回[img]http://photo15.yupoo.com/20080108/112845_380202417_hhbdntwd.jpg[/img]
[img]http://photo14.yupoo.com/20080108/112853_574513405_lcoqnrzt.jpg[/img]
如果想再深入点,看看动画吧,懒得打字了。:-)
由于本人没下载到dvbb8.1的sql版本,也懒得去网上找,所以无法判断其版本也存在该漏洞,有条件的朋友看看反馈
下。
动画下载:[url=http://www.8cmd.cn/attachments/month_0801/d200818124029.rar]http://www.8cmd.cn/attachments/month_0801/d200818124029.rar[/url]
[img]http://photo14.yupoo.com/20080108/112902_558722247_tbduvpmi.jpg[/img]
[img]http://photo15.yupoo.com/20080108/112917_533810922_dvuesvbw.jpg[/img]

wind4 发表于 2008-1-11 17:44

恩。不错。早听说有ODAY,谢谢楼主了!!!!!!!!!!!11

xingzijian91 发表于 2008-1-11 21:47

继续加油啊
  支持你

tearhack 发表于 2008-1-12 13:40

呵呵````不知道怎么利用。。。。。。。。

成长ing 发表于 2008-1-12 14:53

问题是谁有工具,那才是高手啊!!!!!!!!

HRay 发表于 2008-1-13 12:35

普通的注入工具都可以啊,只要找一个存在注入文件的连接,也就是注入点,填在NBSI里就可以了

hkboy 发表于 2008-1-19 13:03

不知道怎么利用

恩。不错。早听说有ODAY,谢谢楼主::16::

huahanzi 发表于 2008-1-22 14:22

回下帖子了
   谢谢分享了`````````````````

狂乱 发表于 2008-1-22 19:13

不错不错,谢谢LZ  收藏起来学习学习~~~~~~~~~~~

职业抢钱 发表于 2008-2-11 23:03

谢谢喽
不知道怎么用

看教程上面的操作好麻烦哦!

有没有工具?

会飞的蜗牛 发表于 2008-2-12 16:57

搞得了  谢谢楼主啊::04:: ::04:: ::04:: ::04::

bellsdy 发表于 2008-2-26 08:46

::13:: 既然出了代码,工具出来是迟早的事咯。

a2773652 发表于 2008-2-26 09:53

不错不错,谢谢LZ  收藏起来学习学习~~~~~~~~~~~

binghunq 发表于 2008-2-28 14:50

LZ详细一点的图解有吗?小弟看了这几张还是不太会耍。。。

黑白天空 发表于 2008-3-8 11:34

::05:: 这个是不错的信息~~~动网好久都没有出洞了.

zhacker 发表于 2008-3-8 11:39

支持你!!!!!!!!!要是有工具就好了~~~~~~!

太阳光 发表于 2008-4-8 10:48

看来这个市界还是高人多::04:: ::01::

fys007 发表于 2008-6-30 23:48

还是的多学啊


要不跟不上啊


清风520 发表于 2008-7-27 14:55

谢谢楼主有心~~~~~收藏了哈~~~

ppa789456 发表于 2008-11-15 17:15

路过........

页: [1] 2


Powered by Discuz! 6.1.0  © 2001-2007 Comsenz Inc.