京华网和京华亿家都是属于京华时报,所以这个漏洞就给你们好了
 

首先从:81/bin.rar 找到一个压缩包

解压之后是asp.net 网站的dll文件,


 

1.jpg



我用ILSpy反编译一下,发现这个是经典的.net mvc架构,而且Model层用了比较新的linq to sql,也就是说,如果程序员不是特别傻逼的话,Sql注入是没戏了,然后我逆向了两个星期,证明了一件事,就是这个程序员是挺有经验的人……,但是,既然给源代码了,就一定能找到漏洞!!!!!主要反编译的文件是ERP_Web.dll
 

2.jpg



这个文件是control层的代码

后来我展开ERP_Web节点的left代码的时候发现有戏:
 

3.jpg



我跟踪Context.GetCookie这个函数
 

4.jpg





发现:
 

5.jpg



再跟进:Decrypt()
 

6.jpg



这整个过程就很清晰了:用户登陆之后把用户Id做Des加密保存到Cookie里面,用户请求页面的时候再把Cookie的加密数据解密,然后从数据库里面查询用户的是否存在,权限是什么

下面我们寻找一下密钥:

发现程序员把密钥写死在代码里面了:

在KeyCryp类里面:
 

7.jpg





而且我在这个地址发现可以不用登陆就可以得到管理员的Id:

:81/role/SearchAdmin.aspx
 

8.jpg



我写了一个还原的程序:
 

daima.jpg



运行之后:


 

9.jpg



在浏览器里面:


 

10.jpg



然后访问::81/index.html
 

11.jpg





进到后台了,在产品设置->产品管理->编辑 发现

产品图片上传:
 

12.jpg



传个木马上去

Ok

:81/Images/Product/2799/bigPicdbcd07db-a0e4-4431-afd4-ee358d9ade1b.aspx

缺陷对应的源代码在:
 

13.jpg



好了,拿到Shell之后后面就都是老司机的套路了

首先发现这个服务器没有打系统补丁,然后用ms51-051秒掉

加个用户用kali+reGeorgSocksProxy.py+proxychains+rdesktop就上到服务器的远程桌面了:(中间有个小的技术点就是:如果你这样直接链接上去的话,rdesktop会报错:Failed to connect, CredSSP required by server 原因是windows系统的远程登陆启用了仅允许运行使用网络级别身份验证的远程桌面的计算机连接,我要改成:允许运行任意版本的远程桌面的计算机连接:

在WebShell里面这样操作:reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f


 

yuancheng.jpg






 

14.jpg



扫了个端口:

发现:10.8.1.99和10.8.1.101开了Ftp

其中10.8.1.99的ftp用户名和密码都是admin
 

15.jpg



发现个压缩包:物流水.发行.老超市(含内外网).zip 下载下来

发现里面有个配置文件:
 

16.jpg





发现10.8.1.1的数据库密码,然后发现这个账号的是sysadmin的权限,而且数据库的服务器权限是System,这样的后果是,服务器沦陷:
 

17.jpg



发现服务器上还插了个U盘,里面的是大量的企业机密和个人隐私:


 

18.jpg


 

19.jpg



在10.8.1.101的Ftp里面发现:(ftp的用户名密码都是:public)
 

20.jpg