时间:2022-10-09 12:00编辑:九州下载来源:www.wzjsgs.com
网页挂马指的是把一个木马程序上传到一个网站里面然后用木马生成器生一个网马,再上到空间里面!再加代码使得木马在打开网页时运行!
工作原理
作为网页挂马的散布者,其目的是将木马下载到用户本地,并进一步执行,当木马获得执行之后,就意味着会有更多的木马被下载,进一步被执行,进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。为达到目的首先要将木马下载到本地,
常见方式
1.将木马伪装为页面元素。木马则会被浏览器自动下载到本地。
2.利用脚本运行的漏洞下载木马
3.利用脚本运行的漏洞释放隐含在网页脚本中的木马
4.将木马伪装为缺失的组件,或和缺失的组件捆绑在一起(例如:flash 播放插件)。这样既达到了下载的目的,下载的组件又会被浏览器自动执行。
5.通过脚本运行调用某些 com 组件,利用其漏洞下载木马。
6.在渲染页面内容的过程中利用格式溢出释放木马(例如:ani 格式溢出漏洞)
7.在渲染页面内容的过程中利用格式溢出下载木马(例如:flash9.0.115 的播放漏洞)
执行方式
1.利用页面元素渲染过程中的格式溢出执行 shellcode 进一步执行下载的木马
2.利用脚本运行的漏洞执行木马
3.伪装成缺失组件的安装包被浏览器自动执行
4.通过脚本调用 com 组件利用其漏洞执行木马。
5.利用页面元素渲染过程中的格式溢出直接执行木马。
6.利用 com 组件与外部其他程序通讯,通过其他程序启动木马(例如:realplayer10.5 存在的播放列表溢出漏洞)
在与网马斗争的过程中,为了躲避杀毒软件的检测,一些网马还具有了以下行为:
1.修改系统时间,使杀毒软件失效
2.摘除杀毒软件的 HOOK 挂钩,使杀毒软件检测失效
3.修改杀毒软件病毒库,使之检测不到恶意代码。
4.通过溢出漏洞不直接执行恶意代码,而是执行一段调用脚本,以躲避杀毒软件对父进程的检测。
检测方式
1.特征匹配。将网页挂马的脚本按脚本病毒处理进行检测。但是网页脚本变形方式、加密方式比起传统的 PE 格式病毒更为多样,检测起来也更加困难。
2.主动防御。当浏览器要做出某些动作时,做出提示,例如:下载了某插件的安装包,会提示是否运行。比如浏览器创建一个暴风影音播放器时,提示是否允许运行。在多数情况下用户都会点击是,网页木马会因此得到执行。
3.检查父进程是否为浏览器。这种方法可以很容易的被躲过且会对很多插件造成误报。
如何防范
(1):对网友开放上传附件功能的网站一定要进行身份认证,并只允许信任的人使用上传程序。
(2):保证你所使用的程序及时的更新。
(3):不要在前台网页上加注后台管理程序登陆页面的链接。
(4):要时常备份数据库等重要文件,但不要把备份数据库放在程序默认的备份目录下。
(5):管理员的用户名和密码要有一定复杂性,不能过于简单。
(6):IIS 中禁止目录的写入和执行功能,二项功能组合,可以有效的防止 ASP 木马。
(7):可以在服务器、虚拟主机控制面板,设置执行权限选项中,直接将有上传权限的目录,取消 ASP 的运行权限。
(8):创建一个 robots.txt 上传到网站根目录。Robots 能够有效的防范利用搜索引擎窃取信息的骇客。点此查看 robots.txt 使用方法。
对于网页被挂马 可以找下专业安全人士 及时的处理会避免因为网页被挂马造成的危害。
专业数据统计,95%的用户会因为[不安全]提示而放弃访问,从而给网站造成用户流失。问题就出在不安全的HTTP 明文传输协议上。2018年2月初,谷歌旗下Chrome浏览器宣布“封杀”HTTP协议的网站,并将这些网站标示为“Not Secure”(不安全)。
2023-03-03 21:141、do-while语句是一种后测试循环语句,即循环体中的代码执行后才会对退出条件进行求值。2、循环体内的代码至少执行一次。do-while的语法如下:do{ statement }while(expression)下面是一个例子:letxhs=0 do{ xhs+=2 }while(xhs<10)在上面的
2023-02-26 12:191、while语句是一种先测试循环语句,即先检测退出条件,再执行循环体内的代码。2、while循环体内的代码有可能不会执行。下面是 while 循环的语法:while(expression){ statement }实例leti=0 while(i<10){ i+=2 }在这个例子中,变量 xhs 从 0 开
2023-02-26 12:181、for语句也是先测试语句,只不过增加了进入循环之前的初始化代码.以及循环执行后要执行的表达式(loop-expression),语法如下:for(initialization;expression;loop-expression){ statement }下面是一个用例:letxhsLength=10 for(letxhs=0;xh
2023-02-26 12:17说明1、for-of语句是一种严格的迭代语句,用于遍历可迭代对象的元素。2、for-of循环将按照可迭代对象的next()方法产生值的顺序迭代元素。关于可迭代对象,请参考ES6系列的Iterator。如果尝试迭代的变量不支持迭代,for-of语句就会出错。语法:只
2023-02-26 12:16说明1、switch语句可用于所有的数据类型(在许多语言中,它只能用于数值),因此可以使用字符串甚至对象。2、条件值不一定是常量,或者是一个变量或者一个表达式。实例switch('helloxhsRookies'){ case'hello'+'xhsRookies&#
2023-02-26 12:15发布日期:2022-10-29人气:641
发布日期:2022-10-10人气:555
发布日期:2022-09-29人气:335
发布日期:2022-09-04人气:311
发布日期:2023-01-16人气:226
发布日期:2022-10-02人气:149
发布日期:2022-11-07人气:145