评“逃避ids的50种方法” 转至赛迪网

GOOGLE HACKING 系列文章 【FreeXploiT整理收集】 本文涉及作者 swap(慕容小雨),zhaohuan(Xfocus),snipe(4ngel)信息安全的隐患-GoogleHacking原理和防范作者:zhaohuan@phack.org 来源:www.phack.org技术天地:GoogleHacking是利用Google的搜索引擎快速查找存在脆弱性的主机以及包含敏感数据的信息,最近这种以前由黑客手动进行操作的攻击手段可以通过一种新的蠕虫病毒来 阅读详情

编者注:也许IDS是可以被突破的,但不会是这么容易。



我们的一些顾客谈到Fred Cohen先生写了一篇非常优秀的关于ids系统弱点的文章”50条躲避ids的方法”。所有的50条方法都在下面列 出。原始版本可以从http://all.net得到。Cohen 先生声称ids系统对改善网络安全只能起一点点的作用。他的文章列出了50种攻击者可以躲过 ids的方法。我对这50种方法逐一进行批驳。

1.在通常的入侵中加入无关的字符将会导致ids失败。例如,你可以在shell命令中加入”&& true”,这不会对操作有任何负面影响,但 将躲过ids的检测。

这仅仅在宽容接受输入的系统中有效。例如,PHF攻击使用字符串”/cgi-bin/phf”,在它的前面或后面增加任何字符,web server都不 会接受这个请求。如果用”tprof”攻击老的AIX系统时使用上面的方法,”tprof”将会在一些地方被调用。多数ids能正确的匹配。只有极少 数的ids系统试图匹配复杂的模式 ,大部分都只是匹配攻击中的一小部分关键的。

2.在命令中使用tabs代替空格,因为大部分当前的ids系统不会检查所有的分隔符,使用非标准的分隔符将躲过ids。在unix的shell中, 你也可以用”,”代替“;”。

类似第一条。使用tabs代替空格来运行”tprof”,在命令行中会出现”tprof”。这样,基于主机或网络的ids会发现这次攻击。

3.类似第二条,你可以在系统中改变分隔符,例如把%作为分隔符。这几乎会把大部分的ids搞糊涂。

这要求改变IFS(internal field separator)。许多基于主机的ids将会监测到IFS的改变。许多基于网络的ids不会集中考虑复杂的模式 。无论如何,前三条不会影响基于主机的ids,例如Tripwire,Stalker,CMDS。

4.重新排列一个攻击次序,例如攻击顺序是“a;b;c”,并且以“b;a;c”的顺序也能成功。许多ids将检测不到第二种攻击。

逻辑上这是一个吸引人的说法,但现代的攻击一步就能成功。这些攻击会被许多ids发现。复杂的攻击中,它们的一些步骤会被发现。

5.将一个标准的攻击由一个以上的人进行。还使用“a;b;c”的例子,如果用户X进行”a:b”,用户Y进行”c”,那么攻击者几乎肯定不 会被发现。

同样,如果要求有步骤”a”,”b”,”c”,那么ids极有可能发现他们中的一步,不管是那个用户执行它。使用多个账号确实会搞糊涂 管理员,但攻击还是会被发现。

6.将一个标准的攻击分在多个会话中完成。第一次登陆进行”a;b”,然后logout,再登陆到系统进行“c”。

如同第五条。得到root权限的溢出脚本可能有多行,但最关键的只有一行。例如,不得不有一条命令使非特权用户成为特权用户。

7.用多个ip地址/系统进行攻击。登陆到X、Y,从X进行”a”,从Y进行”b”,再从X进行”c”。

同样,类似5和6。多出来的连接会引起基于网络的ids的注意。一些ids产品,例如CMDS将会发现短时间内从多个ip发起的远程连接。

8.为攻击中使用的命令定义一个宏。例如,为cp设置一个shell变量$ZZ,然后使用$ZZ代替cp。

增加了复杂性,但是ids将会察觉这次访问。想象一个ids在“tprof”程序中触发。他将记录这一事件。为/etc/passwd定义一个shell变 量也一样,ids系统将会发现在一次telnet中对/etc/passwd文件的存取。所以,这些技术在基于主机的ids如CMDS,Stalker,Tripwire中几乎不 会有什么作用。

9.为命令参数定义一个宏。例如,使用$P代替/etc/passwd。

参考8。

10.用脚本代替输入的命令。通常ids不会注意到这个脚本。

这是第一个确实可能的技术。但没有提到在攻击成功后发生的事情。像CMDS这样的工具将察觉不正常的登陆。Tripwire将发现一些后门 。给nmap、strobe这样的工具改名确实是好主意,但是一旦使用他们,基于网络的ids就会发现他们。如果执行一个获得root权限的脚本,许多 ids产品足够察觉攻击中的变化。这已经在4,5,6,7中讨论了。

Bonus attack ? 在攻击指令中加注释,将不会被察觉。如果这是一个得到root权限的脚本,大部分ids系统都健壮到足以发现攻击中的不同。这在4,5,6,7种已经讨论过了。

11.使用不同的命令完成相同的功能。例如,通常在unix shell中 ”echo *”等效于”ls”。

当攻击系统的时候,任然需要运行”tprof”之类。即使在另一个系统上把它编译成仅仅运行”trpof”的二进制程序,许多ids系统如Stalker 、SeOS也会发现从非特权用户向特权用户的转变。

12.在攻击中改名。例如,攻击使用临时文件”xxx”,你可以把它改名为“yyy”。

这假定ids系统只搜索指定的文件名,参见11。

13.建立一个对照表对关键字进行翻译。然后进行字符替换,例如,可以使用sed作字符替换。

同11。

14.对指令用”ebcdic”编码,并且把终端类型改为“ebcdic”终端。因为所有的字符编码都改变了,所以ids不会察觉到你的行为。

同11。

15.对指令加密,例如,使用ssh,可以防止sniffer,网络ids产品一般包括sniffer功能。

仅对基于网络的ids有用。基于主机的ids在ssh下对用户行为可以进行完全的控制。

16.发送时使用后缀符号,然后在其他地方再翻译回来。Ids不会理解这些符号。

同15。

17.和目标机之间用全双工通信,ids理解不了附加的字符。

Dragon,T_Sight和所有版本的DoD NID程序可以对付这些情况。

18.在一次入侵中交互使用一些已知的入侵技术。Ids可能不会分辨出。

很可能发现至少一种入侵。这不是一种新技术,如同5,6,7一样。

19.对daemons发送的结果编码,这样返回的格式将不会被ids察觉。例如,如果你利用一个sendmail的bug发送一个password文件给你自 己,可以通过管道用一个sed脚本将文件中的”:”改变成”-“。

这发生在入侵成功之后。在入侵成功后怎么处理password文件是很有意思的,但这不属于攻击类型。

20.通过管道用awk脚本对字符进行交换。可以躲过ids。

如同15。不是一种新的方法。

Bonus attack ? 从一张表里用行号选择命令,而目标执行相应的命令。例如,你可以键入”15 *.com”,而目标却执行”dir *.com” 。

如同15,这只是加密shell命令的一种新办法。

21.DOS IDS的sensor端口。使它失效。

许多基于网络的ids产品经过安全配置,可以在没有ip地址的情况下完成sensor的工作。一些ids产品,例如Dragon,没有任何打开的udp 或tcp端口。RealSecure,NetProwler,NetRanger同样可以去掉ip地址来防止攻击。

22.用ping来攻击ids。通过发送大的ping包,可以使许多运行ids的系统崩溃,这样它就不会发现随后的攻击。

还是DOS技术。已经在21条里详细说过了,许多网络ids比周围的环境有更高的安全性。尽管我确信有许多运行在Windows NT上的网络ids 存在操作系统本身的漏洞。

23.攻击ids所运行的平台。许多ids运行在常见的有漏洞的操作系统上。一旦攻击平台得手,对付ids就轻而易举了。

与21、22相同。

24.创造错误的审计纪录来迷惑ids。例如,在攻击包和正常包之间发送包可以使攻击看起来无害。

SNI就这个问题写了一片非常好的论文。NFR和Dragon网络ids可以避免这些攻击。一般来说,基于主机的ids不会存在这些漏洞。

25.消耗ids系统的磁盘空间,然后进行攻击。用无害的数据填充磁盘空间,ids将崩溃,随后的攻击就不会被发现。

Ids系统什么时候崩溃呢?如果ids系统记录所有的信息,它可能被管理员注意。攻击者所做的只是提高了管理员的警觉性。

26.停止审计记录的生成或采集然后进行攻击。例如,创建数量很多的进程,那么,ids系统就不能再创建审计进程。

这是一个本地DOS攻击。许多unix操作系统可以抵抗这些本地攻击。主机ids使用单独的进程,同样可以避免。并且,如果服务器负载过 重,管理员会注意到过多的进程。

27.攻击响应系统来中断通信。例如,一些ids系统会切断从攻击发起处来的所有流量。伪造从特定主机发起的攻击,ids系统将切断从 那台主机来的所有连接,那时就可以攻击这台特定的主机了。

这是Mr.Cohen文章中我感兴趣的攻击之一。如果我理解正确的化,这意味着使用ids的自动阻断攻击方ip地址的功能来阻断被保护网络主 机。一些ids产品,例如CMDS、NetRanger、NetProwler、RealSecure可以与防火墙或路由器对话。当特定的事件发生,路由器和防火墙将会限 制特定主机的流量。这种技术有一个流量的问题,也就是防火墙和ids系统协同工作的原因。当流量受限时,只限制由外向内的流量。特定主机 不会孤立的被攻击。

28.逆向输入,再使用一个转换工具转换。在发送和接受时作同样的事情。

如同15。这只是一种伪装shell的新办法。

29.输入时中间插入符号,再用awk转变成前缀符。Ids系统将不会中断连接。

如同15,28和29。仅仅在网络ids观察telnet或rlogin会话时才有用。这些技术很难轻易的在ftp,http,smtp等其他的协议上使用。

30.使用“emacs”作为shell,使用wipes和yanks输入输出命令缓存代替手工键入。当在目标机执行攻击指令时Ids系统将只会看到类似 于ctrl-W和ctrl-Y。

NFR和RealSecure将察觉”emacs”的使用,因为不使用”vi”的人很可能是hacker。同样,这也只是另一个隐藏命令的方法。通常只对telnet 和rlogin有用。

Bonus attack—非常缓慢的输入(每条命令之间最好相隔几个小时)。因为缓存大小的限制,你的输入被一大堆ids不得不看的东西冲掉 了。

网络ids有这样的弱点。主机ids没有。一些网络ids,如NFR、Dragon等能够被配置的足够发现长时间的低带宽的网络会话。

31.改变到目标的路由来躲过ids。

如果有拓扑学知识的话,这将是一种有效的攻击。为了进行这种攻击,必须进行一定的网络解析。这将很容易的被网络ids系统发现。这 种攻击同时要求对对方IDS系统的布置了如指掌。

32.改变从目标回来的返回路由来避免IDS。

同31。

33.用源路由包指定不同的路由到目标,可以躲过一些单一的ids。

几乎所有的防火墙,路由器和服务器都会丢弃并且纪录源路由包。31、32、33都假设有备用的通道可以到达目标,但实际上,网络IDS可 以配置成一个遏制点(网络连接必须经过)。

34.从被保护网络上用modem拨号进行攻击,可以躲过网络ids系统。

当然,我们有更多的办法来躲过ids系统,先观察它们,再从他们不会察觉的地方入手。例如,我们可以向被Axent IA,BlackICE,甚至 RealSecure保护的Windows NT系统释放一个病毒。这些ids系统都不会察觉系统级的病毒。

35.干扰目标和ids之间的通信。对于网络ids,可以采用改变路由器通信的办法。

这与33非常象。网络ids通过监听网络通信的办法来实现。如果通信没有被监听到,那么就不会有入侵察觉。这种攻击仅仅当攻击者可以 改变内部网络路由,并且从通信到流量都有其他的存取点。许多网络ids系统可以察觉到改变路由的企图。

36.从跳板进行攻击。攻击将被察觉,但他们不会追踪到(除非它们特别擅长追踪)。

文章题目是“50种躲过ids系统的办法”。但这种办法不是躲过ids系统。仅仅是改变了ids检测出的入侵主机。而且你作为跳板的主机可 能也会监测到你的行为。

37.在不使用的端口上开启一个连接。

这样做的前提是攻击者已经可以访问到目标。新的攻击不会以这种方式开始。有许多程序例如NetCat可以做这样的事情。大部分这样的 程序都可以被网络ids发现。RealSecure这样的产品甚至能发现LOKI ICMP(通过icmp包来封装c/s) 会话。

38.使用改变过的协议通信,例如在单词中使用逆序。(可以参考PDP-11,VAX的编码)。

这只是加密网络传输。前提条件是在对方网络里有一个肯合作的系统。

39.使用ip包封装ipx包来攻击。Ids系统可能仅仅注意ip包,但不理解它的内容。

如果对方有一个基于ipx的ids系统,他们就会发现这次攻击。

40.使用不同的隧道协议攻击。例如IP over HTML。

还是加密传输技术。

Bonus Attack ? 为新的工具定义你自己的协议,然后用它攻击。参照40。你控制目标主机,写你自己的加密管道,用它在ids系统面前通信,这并不是躲过ids系统。

41.用modem拨号上网攻击,可以躲掉网络ids。

同34。

42.产生大量虚假的攻击信息来增加ids的noise级别。这将使管理员很难从大量信息中筛选出真实的攻击。

很有意思,但是考虑到网络管理系统被设计为用不为人所理解的方式处理和显示信息。Ids系统也一样。例如,Dragong,在许多不同级 别的提取中,用一些不同的工具来寻找不同的数据。企业级产品例如WebTrends 趋向于用一种非常容易理解的方式来显示所有整理过的安全信 息。攻击者如果照前文所说的做了,他会使目标的alert级别升高。

43.把入侵指令放在一个word宏里面。把文档发送到目标。Ids可能不会解码宏里面的攻击指令。

参考34。一些产品如RealSecure会发现可疑的JAVA和ActiveX下载。带有病毒检测的应用代理防火墙同样可以察觉这样的攻击。

44.把入侵指令放到Power point、lotus-123等任何你能想到的其他产品的宏里面。

参考43和34。所谓的50种方法并没有达到50种。

45.把指令放到编译后的程序里(例如,一个木马),然后,想办法让目标主机下载然后执行。

这是一个经典的all time攻击。常见的木马可以被许多主机和网络ids发现。一些防火墙甚至可以发现bo的扫描。从另一方面来说,这也 是今天计算机安全所面临的最严重的问题之一。几乎不可能检查二进制程序甚至源码来预测它将要做什么。Ids也做不到,但这也不是你扔掉id s产品的理由。当你想要用E-mai发送敏感的公司信息时,大部分ids或防火墙产品同样也不会发现。

46.使用很少见的协议来攻击。Ids可能不知道如何解码这种包。

协议不是一个很好的术语。如果这意味着不同的udp/tcp端口,那么网络ids就应该发现它。但是许多网络ids产品仅仅把他们可以理解的 标记为可疑。对以非icmp,udp,tcp的方式进行的攻击,许多ids可以被配置来产生警告。

47.用不同的语言对原始发布的exploit重写。

我不认为这将有用。例如check-cgi程序,他已经传播了好几个月,可以检查70多个cgi漏洞。他被从c移植到Rebol,但在网络层上没有 任何不同。这种方法仅仅当ids只搜寻特定的二进制程序才有效。

48.使用非技术的攻击(例如所谓的社会工程)。因为ids只和位与字节打交道。

没错,但可以建立警戒系统,背景检查,摄像机,员工训练程序等等可以防止这种方法。甚至可以通过法律手段。

49.攻击没有运行unix的系统。因为今天几乎所有的ids都是针对unix系统的。

一份调查显示NetProwler,NFR Flight Jacket,NetRanger,RealSecure,Dragon,BlackICE 都可以发现多数的windows NT类攻击。

50-1000+. 使用上千种不为当前系统所知的方法中的一种攻击。有些系统的最大检测攻击数只有50(其中一个版本声称超过了150种,但 是我知道已知的漏洞已经超过了2000种),不过150比起50任然是进步。

那些公布的已知的漏洞在哪里?当我们访问Packetstrom和Rootshell时,许多主要的攻击都可以被ids产品覆盖。有一些专门针对ids的 缺点,但大部分攻击,ids都可以察觉。

Bonus attacks—1000+到…….. 写一个新的攻击脚本。Ids仅仅能察觉部分已知的漏洞。

参考50-1000+。

结论:


评价ids系统和网络安全是非常困难的,因为这个主题非常含糊。我希望这篇文章能引起一些争论,并产生一些关于ids在网络中的角色 的讨论。对读者来说,很明显的作者认为ids在安全网络里非常有用。我承认再好的ids也不能拯救世界,但他们也不应该被轻易的低估。

『引自 安全培训基地』

LinuX 硬盘分区细节详谈 【 整理至 LinuxSir BY FreeXploiT 】 系统引导过程及硬盘分区结构论述作者: zhy2111314来自: LinuxSir.Org ouc.edu.cn摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文+++++++++++++++++++++++++++++++++++++++++++++++ 阅读详情

相关推荐

IDS、IPS的阻断方法及绕过方法

前言 近两年兴起的大型网络攻防对抗比赛以实战的方式进行,这个举措非常好,以攻促防(“talk is cheap,show me the shell”),参赛大企业会更加关注实际的安全威胁并且想办法缓解,客观上也繁荣了安全行业,一时间相关的安全服务及安全产品畅销,特别是有实时检测和阻断能力的IDS/IPS大放异彩。 于是,大企业纷纷采购部署IDS、IPS、WAF这些安全防护产品,压缩了攻击面,那就带来两个问题:1)渗透测试这个方向还有没有机会?也有渗透测试人员发的知乎热帖[1]对未来提出困惑;2)部署了I

墨痕诉清风的博客 5283

IDS逃避技术和对策

标题:IDS逃避技术和对策时间:2004-10-02 来源:www.cexpress.com 文摘内容: --------------------------------------------------------------------------------http://www.linuxaid.com.cn1.字符串匹配的弱点2

古剑楠的专栏 950

入侵检测 IDS逃避技术和对策

snort策略配置分析 入侵检测实战之全面问答 IDS的弱点和局限

nmap 防火墙 IDS 躲避和哄骗

1. 入侵检测 使用入侵检测系统(IDS)的公司也不断增加。由于 nmap 常用于攻击前期的扫描,因此所有主流的 IDS 都包含了检测 nmap 扫描的规则。现在这些产品演变成入侵预防系统(IPS),可以主动地阻止可疑的恶意扫描行为。但是网络管理员和 IDS 厂商通过分析报文来检测恶意行为是一个艰苦的工作,有耐心和技术的攻击者,在特定 nmap 选项的帮助下,常常可以不被 IDS 检测到。同时管理员必须应付大量的误报结果,正常的行为被误判而被改变或被阻止。 2. 报文分段 -f (报文分段) 该选项要

zhbi98 的技术 Blogs 5524

FPGA SPI驱动ADC避坑指南:以ADC128S022为例,详解时序设计与代码调试

本文以ADC128S022为例,详细解析FPGA通过SPI驱动ADC的时序设计与代码调试中的常见问题。从时钟分频计算、SPI模式选择到状态机实现,提供避坑指南和实战技巧,帮助工程师解决数据采集系统中的时序匹配难题。特别针对FPGA与ADC通信中的微妙差异,给出精确的Verilog代码示例和ModelSim仿真验证方法。

weixin_42522374的博客 458

windows局域网文件夹共享

windows局域网共享文件夹,亲测,包括可能出现的一些问题解决

yml15180824993的博客 4万+

IDS逃避技术和对策的详细介绍

在网络蓬勃发展的几天,网络安全问题日益突出。网络上的黑、白两道在网络安全的各个领域都展开了激烈的竞争。黑帽社团不断推出躲避或者越过网络入侵检测系统(Network Intrusion Detection System,NIDS)的新技术,而NIDS的开发者不断地在自己的产品中加入对这些技术的检测。但是,由于NIDS本身的局限性,胜利的天平正在向 黑帽子倾斜。本文将讨论一些基本的IDS躲避技术,以及

软体疯子专栏 3323

WPS Office 2026免费安装指南:AI办公与安全使用全解析

办公软件作为数字化办公的核心工具,其基本原理是通过文档处理、数据计算和演示展示等功能模块满足用户日常办公需求。随着人工智能技术的发展,现代办公软件逐步集成AI能力,通过自然语言处理和数据分析算法提升工作效率。在技术价值层面,优秀的办公软件不仅需要保持格式兼容性和跨平台同步能力,更要注重用户数据安全防护。从应用场景来看,无论是个人文档编辑、企业报表分析还是团队协作演示,办公软件都发挥着关键作用。WPS Office 2026作为国产办公软件代表,深度融合AI助手功能,支持智能写作和数据分析,同时通过官方免费策

weixin_30599769的博客 707

nmap学习笔记(七)-----防火墙/IDS躲避和哄骗

防火墙/IDS躲避和哄骗 很多Internet先驱们设想了一个全球开放的网络,使用全局的IP 地址空间,使得任何两个节点之间都有虚拟连接。这使得主机间可以作为真 正的对等体,相互间提供服务和获取信息。人们可以在工作时访问家里所 有的系统、调节空调温度、为提前到来的客人开门。随后,这些全球连接的设想 受到了地址空间短缺和安全考虑的限制。在90年代早期,各种机构开始部 署防火墙来实现减少连接的目...

wkend的博客 4203

大话西游2单机版V8一键架设教程:从下载到GM权限全流程(附仙玉修改技巧)

本文详细讲解了大话西游2单机版V8的一键架设全流程,包括环境准备、服务端配置、客户端安装及GM权限获取等关键步骤。特别提供了仙玉修改技巧和高级资源管理方法,帮助玩家快速搭建个性化游戏环境并掌握核心控制功能。教程涵盖Windows系统兼容性设置、常见问题解决方案以及数据备份策略,适合各类怀旧玩家和技术爱好者。

weixin_29254673的博客 1033

手把手教你学Simulink--电机电磁兼容与可靠性​场景示例:基于Simulink的电机轴电压与轴电流抑制仿真

本文带你完成了电机轴电压与轴电流抑制的Simulink仿真,实现了:✅ 揭示了共模电压 → 寄生电容 → 轴电压 → 轴承电蚀的完整链路✅ 搭建了含寄生参数的高频电机等效模型共模电压最小化PWM(源头抑制)dv/dt滤波器(路径阻断)轴接地(终端泄放) ✅ 通过仿真验证了轴电压从68 V降至<3 V的显著效果 ✅ 为高可靠性电机系统提供低成本、高效益的轴承保护方案。

MHD0815的博客 314

网络漏洞扫描系统的必要性

作者:余精彩  来源:赛迪网    随着计算机技术、网络技术的飞速发展和普及应用,网络安全已日渐成为人们关注的焦点问题之一。近几年来,安全技术和安全产品已经有了长足的进步,部分技术与产品已日趋成熟。但是,单个安全技术或者安全产品的功能和性能都有其局限性,只能满足系统与网络特定的安全需求。因此,如何有效利用现有的安全技术和安全产品来保障系统与网络的安全已成为当前信息安全领域的研究热点之一。  首先,

FreeXploiT 2578

YOLOv8实战教程:从模型训练到改进的全流程指南

回顾这段YOLOv8的实战历程,从最初的模型训练到后来的各种改进尝试,我深刻体会到目标检测技术的魅力与挑战。YOLOv8作为一款优秀的框架,不仅易用性强,而且具备很强的可扩展性,让我能在其基础上不断创新。未来,我计划在以下几个方向继续探索:一是将YOLOv8与多模态技术结合,尝试实现图像与文本的联合目标检测;二是深入研究自监督学习在YOLOv8中的应用,减少对标注数据的依赖;三是探索YOLOv8在更广泛场景的部署,如机器人、自动驾驶等。

LXY_LOVE36的博客 279

两种基于HTTP的通用IDS躲避技术

作者:Daniel J. Roelker 概要:本文描述了两种可以基于HTTP协议的通用IDS躲避技术。这些技术包括旧式的HTTP躲避技术和新式的HTTP躲避技术。虽然躲避技术的类型不同,但它们都位于HTTP协议的请求URI部分,使用标准的HTTP/1.0和HTTP/1.1协议。请求URI地址中的躲避技术,通常与URL的编码有关系。对于Apache和IIS来说,存在多种合法的URL编码方式,文中会

1104

基于嵌入式Linux设计的智能车库(GEC6818)

随着城市化进程的加快,传统停车管理方式存在效率低下、人工成本高、车主体验差等问题。为解决这些问题,本项目基于嵌入式Linux技术,设计并实现了一套智能车库管理系统。该系统采用GEC6818开发板作为核心控制器,运行Qt应用程序,并结合USB免驱摄像头进行车牌识别,RFID模块完成刷卡支付,SQLite数据库存储车主信息和停车记录。系统提供车主注册、用户管理、出入库管理、停车费结算、车辆查询等功能,并具备语音播报提示,提高用户体验。通过本系统,停车场管理更加高效、智能,有助于提升停车服务质量,减少人工干预,适

443

MATLAB库函数unwrap(相位解卷绕)的C语言实现

什么是相位解卷绕 Q = unwrap(P) Q = unwrap(P) corrects the radian phase angles in a vector P by adding multiples of ±2π when absolute jumps between consecutive elements of P are greater than or equal to the default jump tolerance of π radians. If P is a matrix, unw

业精于勤,荒于嬉 4247

实时检测攻击行为 9种IDS入侵检测系统方法

入侵检测系统,英文简写为IDS,顾名思义,它是用来实时检测攻击行为以及报告攻击的。如果把防火墙比作守卫网络大门的门卫的话,那么入侵检测系统(IDS)就是可以主动寻找罪犯的巡警。 因而寻求突破IDS的技术对漏洞扫描、脚本注入、URL攻击等有着非凡的意义,同时也是为了使IDS进一步趋向完善。 Snort是很多人都在用的一个IDS了,其实它也并不是万能的,笔者下面就来谈谈突破诸如Snort这类

KingXai的专栏 5448

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

讨论下IDS的绕过

自从知道dedecms自带了80sec的内置Mysqlids后,一直以来也没有想到绕过的办法。或者是自己mysql的根底太差了吧。于是分析dedecms源码时,只找模板执行,本地包含,上传等,完全没有想到注入存在的可能性了。 可以看看某牛的很久以前的分析 http://www.oldjun.com/blog/index.php/archives/66/(其中:80sec的内置Mysqlids可能...

weixin_34049032的博客 302

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

针对IDS的逃避技术与相关对策

在网络蓬勃发展的几天,网络安全问题日益突出。网络上的黑、白两道在网络安全的各个领域都展开了激烈的竞争。黑帽社团不断推出躲避或者越过网络入侵检测系统(Network Intrusion Detection System,NIDS)的新技术,而NIDS的开发者不断地在自己的产品中加入对这些技术的检测。但是,由于NIDS本身的局限性,胜利的天平正在向黑帽子倾斜。本文将讨论一些基本的IDS躲避技术,以及如

1088

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IBM AIX V5.3 系统管理 -- 问题的确定与解决二

<br /> <br />一. 更换热插拔拔设备<br />       安装在您的系统中的某些设备,能够在不关闭系统的情况下进行安装、删除或者更换。支持这些操作的设备包括 PCI 适配器、SCSI 设备,以及一些 RAID 设备。并不是所有的 PCI 适配器都支持热插拔任务。要确定某个特定的设备是否支持热插拔操作,可以参考硬件产品文档。<br />       为了更换热插拔拔设备,您必须转到“Hot Plug Task”菜单,可以从诊断工具实用工具中访问该菜单。<br />       根据环境和所安装

David Dai -- Focus on Oracle 7975

PageFile Swap File

PageFile Swap FileAuthor: JIURL                Home: http://jiurl.yeah.net     Date: 2005-06-02 1 PageFile Swap File IntroductionWindows 2000 uses page-based virtual memory management, contents of som

FreeXploiT 39万+

跨站脚本专题(XSS)

跨站脚本说明什么是跨站脚本(CSS/XSS)?我们所说跨站脚本是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,有时候跨站脚本被称为"XSS",这是因为"CSS"一般被称为分层样式表,这很容易让人困惑,如果你听某人提到CSS或者XSS安全漏洞,通常指得是跨站脚本。XSS和脚本注射的区别?原文里作者是和他一个朋

FreeXploiT 2万+

了解WWW服务与HTTP协议 【入门与应用】

轻松认识HTTP协议的概念和工作原理    当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:www.microsoft.com,但是在浏览器的地址栏里面出现的却是:http://www.microsoft.com,你知道为什么会多出一个“http”吗?一、HTTP协议是什么我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,

FreeXploiT 2万+

windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】

理解Windows中的路由表和默认网关   每一个Windows系统中都具有IP路由表,它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息。路由表是TCP/IP通信的基础,本地计算机上的任何TCP/IP通信都受到路由表的控制。 理解路由表 你可以运行 route print 或 netstat -r 显示本地计算机上的路由表,如下图所示: C:/Documents

FreeXploiT 1万+

SATA硬盘的设置指南 【对使用sata的朋友挺有用的一篇文章】

这是我发表在电脑报上的三篇关于SATA硬盘设置使用的文章,看到评报中有人说整理到一起发在论坛上方便查找,所以就发到这里了。希望对遇到问题的朋友能有帮助。SATA硬盘使用问答(电脑报04年33期) bigh随着各厂家SATA硬盘价格的持续走低,支持SATA的主板逐渐繁荣和成熟,越来越多的人选择SATA硬盘来构建自己的电脑平台。但是由于SATA硬盘有别于并口PATA硬盘,安装和使用中会有很多不同,而使

FreeXploiT 1万+
上一篇: 游戏规则zz
下一篇: 怎样快速的将Access数据库中的表转移到Mysql数据库中 zz
freexploit
博客等级 码龄22年 315粉丝 778原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值