科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道攻防实战:从论坛入手夺取管理员权限

攻防实战:从论坛入手夺取管理员权限

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在这些实际工作过程中笔者发现很多下属接入层服务器上的网站和论坛都存在着或多或少的问题,轻者会被入侵者修改论坛和网站信息,重者直接通过这些漏洞入侵站点服务器的操作系统。

作者:it168 来源:it168 2008年9月16日

关键字: 论坛 入侵 黑客

  • 评论
  • 分享微博
  • 分享邮件

 

    笔者负责一个大型网络的汇聚与核心层设备的维护工作,在实际使用过程中经常要对下属接入层网络连接的服务器进行安全扫描,漏洞防范等工作,在这些实际工作过程中笔者发现很多下属接入层服务器上的网站和论坛都存在着或多或少的问题,轻者会被入侵者修改论坛和网站信息,重者直接通过这些漏洞入侵站点服务器的操作系统,今天笔者就从实际出发,通过实例来讲解如何修改这些漏洞打造安全站点和安全论坛的方法。在讲解防范方法前我们先来经历一次由浅入深,循序渐进入侵的全过程。

  一,漏洞扫描与信息收集:

  一般来说对于业务网站建立者来说如果自己通过动态语言编写站点平台,那么很容易出现SQL注入的漏洞,就算是网上一些现成的号称由专业人士和公司开发的CMS建站系统以及论坛程序也有这种漏洞出现的可能。所以在入侵之前我们先要对该漏洞进行扫描并对目的站点和论坛进行信息收集工作。

  笔者选择的是小榕出品的SQL漏洞扫描工具WIS以及WED,具体扫描步骤如下。

  第一步:通过wis http://XXX/指令扫描目的站点,WIS程序会搜索目的站点的各个页面查找存在漏洞的页面。(如图1)

  第二步:在WIS扫描过程中如果发现有问题出现的话会以红色字样表示出来,一般来说SQL注入漏洞只存在于一个网站的某几个页面中,只要能够找到其中之一就可以实现入侵和攻击的目的。(如图2)

  第三步:扫描完毕后WIS会针对扫描结果进行总结,将搜索到的有漏洞的页面相对路径罗列出来,例如笔者针对目的站点扫描后发现/show.asp?titleid=650这个地址存在SQL注入漏洞,我们将其记录下来。(如图3)

  第四步:当我们获得了存在SQL注入漏洞的地址后再通过WED工具完成入侵和攻击的目的,通过执行wed.exe http://xxx/show.asp?titleid=650命令扫描有漏洞的页面,WED会分多步完成自动攻击和破解的目的,首先是加载破解字典,接下来是检测SQL注入漏洞。(如图4)

  第五步:之后是扫描数据库中存在的表名称,扫描到可用表信息后再进一步暴力破解字段名称,然后再破解字段参数数据信息,经过WED的扫描我们顺利得到了目的站点数据库的帐户名与密码,例如笔者扫描后发现用户名是admin而密码也顺利扫描出来。(如图5)

  第六步:当然用户名和密码的猜解过程会耗费一定的时间,而且扫描结果未必准确,因此必要时我们可以开启多个扫描漏洞窗口并发扫描破解帐户名称与密码,往往能够获得更加准确的信息。(如图6)

  第七步:由于站点使用的建站CMS工具或论坛种类不同,所以即使我们知道了管理员帐户与密码但是不知道登录地址也是没有任何用途的,我们可以通过wis http://xxx/ /a指令来扫描所有页面,并找出真正的后台登录地址。执行完毕后我们找到几个地址,从字面信息我们可以知道该站点分前台登录与后台登录,前台是一个文章录入平台,后台是一个BBS论坛。(如图7)

  至此我们就完成了信息收集和漏洞扫描的工作,一方面找到了管理员登录后台与前台管理界面的地址,另一方面也分析出了管理员的帐户名与密码信息,同时也了解了目的站点的构成情况。

    二,步步为营从论坛获取系统管理员权限:

  当然之前我们获得的仅仅是文章管理平台以及论坛管理平台的管理员帐户与密码,要想实现对站点服务器的完全控制拥有该信息是远远不够的,对应的权限太低。下面我们还要对该权限进行提升。

  第一步:首先我们通过刚才扫描出来的地址访问站点管理界面,输入扫描到的管理员用户名与密码进入。(如图8)

  第二步:进入到管理界面后我们会发现这个站点并不是由标准建立论坛工具安装的,改动比较大。我们直接选择“数据处理->数据库操作”。(如图9)

  第三步:在数据库操作界面下我们可以看到恢复数据库与备份数据库对应的操作功能项,有了这些为我们继续提升权限提供了技术基础。按照一般方法我们先在该站点论坛注册一个帐户,然后上传一个图片信息,当然由于该论坛管理员帐户已经被破解出来所以直接使用admin发布一个帖子,然后在附件上传木马即可,这里需要注意一点的是由于我们木马都是ASP或PHP格式,而论坛附件只能够上传JPG等图片格式,所以我们需要在本地更改后缀名,例如把111.asp木马更改为111.jpg上传到论坛附件。接下来发表帖子查看“此主题相关图片”的属性,在图片属性的地址处信息我们可以看到该木马上传到论坛的相对路径地址以及文件名称。(如图10)

  第四步:我们将这个地址记录下来,然后返回到管理界面的“数据处理->数据库操作”界面,在备份数据库选项中的“原来的数据库路径”输入我们刚刚记录的图片木马地址,这里只需要输入相对路径的地址即可,在“备份的数据库路径”处填写更改后的文件名,例如该为XXX.asp,地址也是输入相对路径。(如图11)

  第五步:完成后点“备份”按钮,如果出现备份成功提示的话,这说明我们的木马已经上传成功。接下来只需要按照之前填写的木马地址通过IE浏览器访问即可,例如笔者上传的这个ASP木马改名为2008.asp,那么通过此名称就可以访问ASP木马的管理界面。(如图12)

  第六步:在ASP木马管理界面中输入正确的登录密码后就可以进入WEBSHELL权限的界面了,在这里我们可以直接看到站点服务器各个硬盘中存储的数据和文件,我们已经从一个论坛管理者摇身变为了系统管理员权限了。(如图13)

  第七步:在ASP木马WEBSHELL管理界面中我们权限等于系统管理员administrator,另外还可以执行各种CMD命令,例如建立用户,查看本机用户等操作。(如图14)

  第八步:当然输入ipconfig也可以查看到服务器上的网络参数配置,包括IP地址,子网掩码以及网关地址等。(如图15)

  至此我们就完成了提升权限的工作,我们可以远程操作服务器像操作自己本机一样了,如果你觉得这种WEBSHELL管理起来不直观的话,还可以通过导入注册表等方式开启3389远程桌面连接管理端口,这样就可以直接用远程桌面以及建立的帐号登录进行图形化管理。由于篇幅关系这里就不详细说明了,感兴趣的读者自行研究即可。

    三,下载数据库暴力破解用户密码:

  在ASP木马管理界面以及论坛后台管理地址中的数据库备份信息中我们可以了解到数据库文件的存放路径地址,在WEBSHELL中直接访问对应的路径下载数据库文件即可。(如图16)

  下载的数据库我们直接用ACCESS打开,里面有很多数据表,例如admin表,user表。我们打开任何一个表,例如admin表,这里面存储的都是具备论坛管理员帐户的用户信息,在password字段中罗列的信息也都是不同用户的密码,只不过这些密码都是通过MD5加密过的。(如图17)

  但是就算是MD5加密过的信息也是可以破解的,目前有很多网站提供了在线查询MD5密码的功能,我们可以通过这些站点实现MD5密文转换为明文的功能,例如笔者通过www.cmd5.com顺利实现了破解管理用户组帐户密码的目的,在文本框中输入数据库文件中MD5加密过的密码字段后点右边按钮,我们将直接看到破解出来的密码明文——coolman字样。(如图18)

  按照这个方法我们就可以破解出大部分管理员用户组对应的密码,当然如果你有时间还可以对user表中论坛各个注册会员密码进行破解。需要说明一点的是此方法并不能够百分之百成功,有部分MD5密文无法反查出明文来,但是根据笔者经验和实际使用发现对于纯数字和字母或者常用字段来说通过此方法99%以上都可以顺利破解出明文来。

    四,从防范入手避免SQL注入漏洞的发生:

  SQL注入漏洞存在于大部分由ASP动态语言建立的站点中,当然部分PHP语言建立的站点也存在SQL注入漏洞,那么我们又该如何防范呢?SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。那么我们该如何做来弥补此漏洞呢?

  (1)函数法:

  在这里我给大家一个函数,我们用这个函数代替ASP中的Request函数,这样就可以对一切的SQL注入“Say NO”了,函数如下。

  Function SafeRequest(ParaName,ParaType)

  '--- 传入参数 ---

  'ParaName:参数名称-字符型

  'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)

  Dim ParaValue

  ParaValue=Request(ParaName)

  If ParaType=1 then

  If not isNumeric(ParaValue) then

  Response.write "参数" & ParaName & "必须为数字型!"

  Response.end

  End if

  Else

  ParaValue=replace(ParaValue,"'","''")

  End if

  SafeRequest=ParaValue

  End function

  (2)过滤法:

  我们可以在自己的网站IIS或APACHE中过滤或转换用户提交数据中的HTML代码来实现弥补此漏洞的目的。

  (3)限制用户提交数据的长度:

  由于SQL注入漏洞是由入侵者在合法数据之后添加额外信息提交该数据而检测出来的,所以我们还可以通过“限制用户提交数据的长度”来达到入侵者猜解的防范目的。

  (4)不要轻易访问别人给你的链接:

  很多时候SQL注入是从内到外发挥作用的,作为站点管理者来说更应该注意服务器自身的安全。另外还需要禁止浏览器运行JavaScript和ActiveX代码。

  (5)如果使用的是网上现成的建站程序,那么我们一定要勤打最新补丁,安装最新版本。

  (6)用小工具封堵SQL注入漏洞:

  我们也可以通过安全工具来防范SQL注入漏洞与攻击。

  SQL通用防注入系统小档案:

  软件版本:3.0
  软件大小:12 KB
  软件性质:免费软件
  应用平台:Windows 9X/NT/2000/XP
  下载地址:http://www.mydown.com/code/265/265010.html

  五,总结:
 
  至此我们就完成了从论坛入手夺取系统管理员权限的攻击实战,当然我们还介绍了如何防范SQL注入漏洞的方法,从防御角度讲解了六个不同手段阻挠入侵者的SQL注入攻击。总之SQL注入的防范并不难,只要你已经通过本文注意到他的问题和危害,就一定会在意识上明白防范他的重要性。很多网络管理员新手往往都太在意某某漏洞带来的危害,认为最多就是改改页面信息而已,大不了到时恢复备份文件即可。然而事实是残酷的,很多漏洞带来的危害是巨大的,我们可以轻松的利用他敲开操作系统的大门,让企业服务器成为别人的“肉鸡”。希望本文能够起到抛砖引玉的效果让更多的IT168网络管理员读者将企业站点的SQL注入漏洞大门彻底关闭,让入侵者无路可走。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章