网站地图    收藏   

主页 > 后端 > 网站安全 >

一个变态的7验证4语言OA系统 - 网站安全 - 自学

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] by:灰太狼真男人先来个地址http://extsjz.my012.com:8008不怕你们日,就怕你们日不起故事背景在http://tieba.baidu.com/p/1265829098先讲解下什么事传说中的7验证登陆方式首先我有这个公司ERP系统的账...

by:灰太狼真男人

 

先来个地址

http://extsjz.my012.com:8008

先讲解下什么事传说中的7验证登陆方式
首先我有这个公司ERP系统的账号密码,但是在这里仅有账号密码远远不够。因为服务器要验证客户端的机器码,只有授权的机子才可以登陆
GET /servlet/extsjz.login.sjzclient?companyid=110&loginname=49/&password=1&code=
088CFBE9AA0C0468312B8382C2FD115CFF2D8346A1EE015C&if_zj=
%200&cpuId=BFEBFBFF&netCardId=00:FF:2A:3A:4B:5B:00:00&drvId=
%20%20%20%20%20%20%20%20%20%20%20%209VM79H5A$ 

大家注意到了里面的参数。。我解释下
companyid 公司的ID  比如 北京010 重启119
loginname &password不说了
cpuId客户端CPUID
netCardId 网卡MAC
drvId 物理硬盘ID
中间还有个CODE code=加密(cpuId+netcardid+dryid+时间验证)


也就是说即使知道了密码也让你登陆不了
下面分析下所谓的CODE
一个可以通过验证的CODE 5B95423888EC0468798E8023A2ED114C90FD0CF86CEE015C

5B95423888EC0***798E8023A2ED***C90FD0CF86CE***** 

088CFBE9AA0C0468312B8382C2FD115CFF2D8346A1EE015C  这个是我机子生成的CODE
其中红色部分是时间验证部分检测系统时间 加密后插入到CODE当中 可能是开发者为了防止暴力破解 

但是聪明的我想出了办法。。因为加密后的时间这三个位置是不变的

通过抓包把我本机错误的code复制出来 只提取正确的时间部分 插入到 正确的但是时间错误的 code中5B95423888EC0***798E8023A2ED***C90FD0CF86CE***** 

 
例如输入正确账号密码 会显示未授权,因为服务器上没有我这台机子硬件信息的记录

但是当我提交正确的电脑硬件配置信息会出现
 
因为CODE中的时间部分与服务器不同 意思是当前时间12点 服务器肯定也是12点 但是本机11点的CODE无法登陆12点
替换正确时间后成功登陆


 

这时候再访问http://extsjz.my012.com:8008/servlet/extsjz.login.main 就会出现登陆界面
 

因为我搞了很久没搞上就找臭鱼大牛帮忙

让他帮忙分析了段错误信息
 
虽然下面的注入语句我很熟悉。
但是因为上面一大堆的JAVA 我 也有点乱 不敢肯定说是MYSQL数据库。。
臭鱼肯定的告诉我是MYSQL 这时候我还凌乱 
因为头部没有什么.asp .php .jsp之类的 后面大家就知道了 很蛋疼
因为这个账户只是个员工普通权限
我和臭鱼的目的是拿到webshll或者admin的权限
我和臭鱼开始找上传的地。 分析上传路径
没想到我直接用错误信息给直接爆出来了  
网站结构知道了

臭鱼直接通过上传的URL 构造了一个可以上传任意文件的地址
首先上传了个PHP 无法解析 猜测是JSP 上传JSP
http://extsjz.my012.com:8008//cominfo/110/knowledge_file/1325776317692/404.jsp
还是无法解析。
这时候晕了。。难道.net。。

 
得知 阿帕奇。。。
为啥解析不了呢 问 嫖姐 
 

开始分工 臭鱼开始本地构造上传 上传到可解析的目录
我帮他找目录
直接开个PK 扫描出来
顿时愣了。。。

 

 
 
这他妈。

目测servlet可以解析,打开扫描器就是一栋狂扫。。什么也没出来。。
顺手百度搜了下servlet  结果。。。

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
话说以前Servlet是什么根本都没听过。。 
之后找Servlet的漏洞。。 发现全是07年以前的内容。。
恩这时候自大的我想,要找漏洞就先去了解下Servlet的运作方式吧,之后打开某个网址
http://www.ibm.com/developerworks/cn/java/j-lo-servlet/ 我发现我真是傻逼 什么也看不懂
 
然后默默无闻的来到FUCK吧发了这么个帖子。。。
大家有什么好的建议

大牛们。。人呢。。

有进展的话随时更新


更新进展
一月6日


我和臭鱼两人已经拿到同一个公司并且C段下的另一个相同系统的权限


关于网站框架是html+js的
不能解析PHP是因为  目录没解析权限
我苦逼的找到个上传地 构造了一个上传语句 dir参数填写../../../ 直接传到了网站根目录
然后把webshell发给臭鱼 臭鱼已经取得root了。


一月7日继续更新。

昨晚臭鱼 小男银 我们三人又开始研究
小男人构造了可以上传到服务器任意目录
不过不解析。
研究到1凌晨2点
成果是我们取得了 C段下的两个 服务器 的root  用的是同样系统
Servlets 然后我准备从 拿到的服务器研究 配置文件 看服务器解析什么

今天上午就和三石大大大大牛两人研究拿到的服务器
三石因为在墙外 有些卡 没有反弹成功
所以我们发现 网站同层目录下有很多.class 的java文件
http://extshow.fboos.com:8015/servlet/extys.winshow
window就是一个存在的windows.class
但是不是在网站根目录  注意和网站根目录同层
所以我们试着上传 自己的class程序

YoCo Smart  12:50:57
你现在看哪个.top是404,等半个小时再看吧。不知道是不是我这边打不开的缘故还是什么,先歇歇脑子吧
YoCo Smart  12:53:12
你要是做过jsp网站就应该能想到,java web有延时,因为java消耗太高,不能实时更新,所以有时候对jsp做更改,不是一按F5就能看到效果的。这个也是基于java语言的,猜测一下应该是和jsp类似,猜的对不对半个小时以后就知道了
活着不可亲你令我生不如死  12:53:44
额你 我也上传个 他测试的class 试试
活着不可亲你令我生不如死  12:56:03
http://extshow.fboos.com:8015/servlet/extys.winshow
你上传的??
活着不可亲你令我生不如死  12:56:18
哦 不是
YoCo Smart  12:56:22
明显不是
YoCo Smart  12:57:21
不知道配置文件里面哪个是管着刷新时间的,上次传的那个left是四十分钟前的,不知道什么时候刷新生效的。保险起见我准备等一个小时
YoCo Smart  12:57:30
我的是top.class 

发几张图片
 


/home/show/extys/servlets/extys目录下面

 

所以访问
http://extshow.fboos.com:8015/servlet/extys.winshow 可以解析

但是我们把可以解析的1.class 和2.class
交换下文件名 在访问就会出现404
在改回来就又可以访问了
这是很纠结的地方


1月8日
我找到07让他帮我反编下class 然后发现问题所在
package extys;
import java.io.IOException;
public class winshow extends HttpServletEx
{
  public void EallGet(HttpServletBean hsBean)
    throws Exception, IOException
  {
    EallPost(hsBean);
  }
  public void EallPost(HttpServletBean hsBean) throws Exception, IOException {
    String js = hsBean.getParameter("js");
    js = MyTools.replaceAll(js, ".", "/");
    hsBean.println("<div id=winshow style='height:100%'>我是中国人</div>");
    hsBean.println("<script language='javascript' type=
'text/javascript' src='/js/" + js + ".js'></script>");

  }
  public void destroy()
  {
  }
}
包名要是extys 所以我们自己的是无法解析的。。
那我们就编译个extys.的
然后我把整站打包下来了 可以看到源码

 

感谢07的反编译工具

让我结束这个帖子吧。。。
系统已经研究的差不多了
如果继续下去的话应该有可能拿到服务器
目的不是为了脱库 不是为了挂黑
只是为了研究
准备把漏洞通知给管理员
http://www.qinghao.cn/1.php

这样的成果已经让我感到很满意了
我一个人的话肯定搞不来
感谢帮助我的人 
三石。。 鱼。。 小男银。。07

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论