2018年5月29日星期二

和前作相比,树莓派3B+的功耗怎样?

如果你在运行一个电池供电的 Pi,你知道它能运行多久吗?我们这里做一些简单的测试,以便于你制定电力预算。

实验方式:

一个 HDMI 屏幕和一个 USB 键盘/鼠标转换器连接,一个5.2V的供电 (电流限制 = 3 安培)线路, 通过电表校准的20安培分流器,由uUSB电源输入Pi。

拍摄视频没有保存到SD卡,但观看1080p视频是在SD卡上完成的。

拍摄视频测试结束后,摄像机模块没有插电。Pi3 B+ 有连接Wi-Fi,但没有蓝牙设备在使用。

了解局限性:

了解任何设备测试和结果的局限性是很重要的。

比较一下台式电源、钳位表和电表的实际读取数据,可以对结果有一定程度的信心。

电表给出时间平均读数(每秒钟更新几次),精确到到小数点后面两个位,这对于我们的目的来说已经足够好了。

我们感兴趣的是随着时间的推移,电力的使用会怎样变化。这样你可以计算出实际使用时,电池包或太阳能电池板要买什么样的。

结果:


我们一共测试了四个不同状态下树莓派的功耗情况。

分别是“空闲”、“载入LXDE”、“观看1080p视频”、“录制视频”。结果如下:

图1

图2

从这两张图来看,树莓派3B+的功耗明显最高,但是具体高多少,大家看过图之后应该也明白了。

评价:

把3B+与3B比较,你将发现前者比后者要多用170mA的电流,即使在空闲状态。这完全是拜新的千兆以太网所赐。如果平时不用,希望可以将其关闭。

在观看或拍摄视频时,GPU处理大部分工作,而这一点在新板子上保持不变。另外一个显着的区别是加载LXDE后的CPU负载,你可以看到3B+比3B高得多。更快的任务处理需要更多的功耗,这在图表中可以看到。

当然,虽然 Raspberry Pi 3B+ 比旧款的3B至少多用170 mA,但CPU更快,可以做更多事情。

原作:Raspi.tv  编译:IoT前哨站

版权声明:本文为“IoT前哨站”编译,转载请注明作者和出处。

 关注IoT前哨站公众号,获取更多物联网精彩

2018年4月4日星期三

从树莓派到Microbit,中国IT启蒙教育比英国缺点什么?

前段时间,笔者一直在用英国产的“Micro:bit”。这是一款由BBC主导,微软、三星、ARM、英国兰卡斯特大学、巴克莱银行等合作伙伴共同开发的嵌入式编程设备。

它可以通过计算机、手机、平板编程,也可以用图形化的方式编程。支持Scratch、Python、JavaScript三种语言。一块小小的电路板,集成了重力传感器、磁力传感器、温度感测、蓝牙等多个模块。如图所示。




不用安装任何复杂的IDE和运行环境,只要一根USB线和一个主流浏览器就能写入代码,让这块小电路板进行各种有趣的项目和实验。如图所示。



这块小型电路板的背后,是一项名为Make it Digital的计划,旨在推进英国的数字化进程。

该计划从2015年秋季开始,让英国11岁左右的学生都免费获得“Micro:Bit”进行编程学习。

BBC此举意在提高年轻人的数字化技能,并填补未来这方面人才的空缺。据估计,未来五年内,英国将需要约140万的专业IT人士,但现实是目前这方面人才紧缺。BBC希望将这个基于ARM处理器的微型设备作为一个跳板,让学生掌握基础编程知识之后再去使用更复杂的设备,毕业以后可以成为精通此类技能的IT人才。

目前主流的英国中学,编程已经和科学、技术、工程、数学一起,成为学生的基础课程。而且从树莓派到Micro:Bit这类开源硬件不断涌现,也证明了英国教育界和产业界融合之深入,协同之到位。

我国早在1984年,邓小平曾就在上海提出过“计算机的普及要从娃娃做起”。计算机课程在该年首次进入上海的高中课堂,翌年成为高中阶段的必修课。

随后计算机教育在我国的发展也如火如荼。但十分可惜的是,与计算机启蒙教育相关的配套硬件却一直没有发展起来。大部分时候,学生都是直接使用进口的非开源商业计算机进行学习。而商业计算机大多是美国标准,一批批学生成年后又继续按这套标准教育新的学生,培训新的员工。间接导致了相关软件业一度被迫向美国看齐,让出了相关领域与美国一较高下的机会。

这虽然和我国的IT基础产业发展较晚有关,但我国没有对青少年计算机启蒙教育进行系统的,持续的,深入的定制和推广也有关系。

比如笔者在初中开始进行系统计算机课程学习。但一开始学的不是编程,而是五笔字型和办公软件。高中时期,学校教授模拟电路和数字电路,很少有机会实战。直至考入大学的电子专业后,才第一次接触嵌入式设备的真机开发,此时不仅动手能力不如少年时期,而且学习计算机编程最好的时光已一去不返。

反观现在的英国青少年,在初中时候便有良好的环境学习Micro:bit这样的简易电路板,高中时候可以进阶到Raspberry Pi这样功能更强的微型电脑实战。可以预想,大学以后,他们基于之前的功底便可轻松进入各种高级的电子、计算机研究领域。

大规模持续的非盈利教育活动,是一个国家国民素质提高的有效手段。而孩童时期又是人们最热衷探索和创新的时候,这个时候如果能给予正确的方向和足够的教育支持。对整个国家综合国力的发展大有裨益。

规模化的IT启蒙,现阶段我国软硬件发展跟的上吗?

2000年左右,中国近乎全民Windows。所幸最近十年大力发展Linux为主的开源软件,让我国在相关领域没有落后于欧美先进国家。

而硬件方面,像树莓派、Micro:bit所采用的低功耗芯片,国内有“全志”、“瑞芯微”可以满足。相关的开源电路板,迅龙的“Orange Pi”和方糖科技的“CubieBoard”已在业界小有名气。

我国东部地区的一些学校,近几年均已经开始中小学的编程训练以提高学生的“STEAM”能力。民间的很多培训班也如雨后春笋般涌现出来。

以上可见,基础已备。中国现阶段缺的,就是一家类似BBC这样有公信力的机构来牵头成立相关的教育基金会,整合国内外一流的资源,建立有益青少年IT教育的体系。同时协调各方设计“能让适龄青少年迅速上手的可编程设备“,推出趣味性和实用性并存的计算机课程,降低整个国民IT学习的成本,让更多的孩子有机会受到良好的计算机启蒙教育,让他们能迈出扎实的第一步。

随着IoT、区块链、AI时代的到来,中国今后的IT需求十分巨大。相关产业的高速发展急需人才推动。希望中国也能借鉴英国的成功经验,普及国民IT教育,填补相关产业的人才缺口,以免在未来失去竞争力。

2018年1月24日星期三

pandas和matplotlib的中文显示问题(Mac & ubuntu)

import pandas as pd
pd.read_csv("example.csv",encoding="gbk")

不加encoding="gbk"的话会报错:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid continuation byte

原因:

因为系统默认是UTF8显示,但csv里面含有中文的话,系统又读不出来。所以要转gbk。

××××××××××××××××××××××××××××××

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontManager, FontProperties


data = [30,53,12,45]

plt.rcParams['font.sans-serif'] = ['simhei']#设置中文
#调节图形大小,宽,高
plt.figure(figsize=(6,6))
#定义饼状图的标签,标签是列表
labels = ['http协议','ftp协议','rdp协议','qq协议']
#每个标签占多大,会自动去算百分比
sizes = [30,53,12,45]
colors = ['r','y','0.5','#FF00FF']
#将某部分爆炸出来, 使用括号,将第一块分割出来,数值的大小是分割出来的与其他两块的间隙
explode = (0.01,0.01,0.01,0.01)

patches,l_text,p_text = plt.pie(sizes,explode=explode,labels=labels,colors=colors,
                                labeldistance = 1.1,autopct = '%3.1f%%',shadow = False,
                                startangle = 90,pctdistance = 0.6)

#labeldistance,文本的位置离远点有多远,1.1指1.1倍半径的位置
#autopct,圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数
#shadow,饼是否有阴影
#startangle,起始角度,0,表示从0开始逆时针转,为第一块。一般选择从90度开始比较好看
#pctdistance,百分比的text离圆心的距离
#patches, l_texts, p_texts,为了得到饼图的返回值,p_texts饼图内部文本的,l_texts饼图外label的文本

#改变文本的大小
#方法是把每一个text遍历。调用set_size方法设置它的属性
for t in l_text:
    t.set_size=(30)
for t in p_text:
    t.set_size=(20)
# 设置x,y轴刻度一致,这样饼图才能是圆的
plt.axis('equal')
plt.legend()
plt.show()

直接在Mac和Ubuntu下跑都会中文显示变方块。

这时候需要先设置:

  1. 首先将windows中fonts目录下的simhei.ttf拷贝到/usr/share/matplotlib/mpl-data/fonts/ttf目录中。
  2. 修改配置文件 
    去除这三列之前的‘#’ 
    在font.sans-serif后添加,SimHei。
    ```
    #font.family         : sans-serif        
    #font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif   
    ...
    #axes.unicode_minus : False #解决负号'-'显示为方块的问题
    ```
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  3. 删除~/.cache/matplotlib的缓冲。(MAC下的目录不是这个,而是直接.matplotlib,大家自行注意判断)
   以上内容借鉴自:

   http://blog.csdn.net/github_33934628/article/details/77874674

2016年4月4日星期一

Ubuntu 16.04 Unity 8全屏效果演示

Ubuntu 16.04 Unity 8全屏效果演示,比Ubuntu15.10之前的效果灵活多了。

2015年8月25日星期二

Aireplay-ng 的 6 种攻击模式详解

Aireplay-ng 的 6 种攻击模式详解

-0 Deautenticate 冲突模式

使已经连接的合法客户端强制断开与路由端的连接,使其重新连接。在重新连接过程中获得验证数据包,从而产生有效 ARP request。

如果一个客户端连在路由端上,但是没有人上网以产生有效数据,此时,即使用-3 也无法产生有效 ARP request。所以此时需要用-0 攻击模式配合,-3 攻击才会被立刻激活。

aireplay-ng -0 10 –a <ap mac> -c <my mac> wifi0

参数说明:
【-0】:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
【-a】:设置 ap 的 mac
【-c】:设置已连接的合法客户端的 mac。
如果不设置-c,则断开所有和 ap 连接的合法客户端。

aireplay-ng -3 -b <ap mac> -h <my mac> wifi0

注:使用此攻击模式的前提是必须有通过认证的合法的客户端连接到路由器

-1 fakeauth count 伪装客户端连接

这种模式是伪装一个客户端和 AP 进行连接。

这步是无客户端的研究学习的第一步,因为是无合法连接的客户端,因此需要一个伪装客户端来和路由器相连。为让 AP 接受数据包,必须使自己的网卡和 AP 关联。如果没有关联的话,目标 AP 将忽略所有从你网卡发送的数据包,IVS 数据将不会产生。
用-1 伪装客户端成功连接以后才能发送注入命令,让路由器接受到注入命令后才可反馈数据从而产生 ARP 包。

aireplay-ng -1 0 –e <ap essid> -a <ap mac> -h <my mac> wifi0

参数说明:
【-1】:伪装客户端连接模式,后面跟延时
【-e】:设置 ap 的 essid
【-a】:设置 ap 的 mac
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)

-2 Interactive 交互模式

这种攻击模式是一个抓包和提数据发攻击包,三种集合一起的模式

1.这种模式主要用于研究学习无客户端,先用-1 建立虚假客户端连接然后直接发包攻击 ,

aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b <ap mac> -h <my mac> wifi0

参数说明:

【-2】:交互攻击模式
【-p】:设置控制帧中包含的信息(16 进制),默认采用 0841
【-c】:设置目标 mac 地址
【-b】:设置 ap 的 mac 地址
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)

2.提取包,发送注入数据包 aireplay-ng -2 –r <file> -x 1024 wifi0 发包攻击.其中,-x 1024 是限定发包速度,避免网卡死机,可以选择 1024。

-3 ARP-request 注入攻击模式

这种模式是一种抓包后分析重发的过程 这种攻击模式很有效。既可以利用合法客户端,也可以配合-1 利用虚拟连接的伪装客户端。如果有合法客户端那一般需要等几分钟,让合法客户端和 ap 之间通信,少量数据就可产生有效 ARP request 才可利用-3模式注入成功。如果没有任何通信存在,不能得到 ARP request.,则这种攻击就会失败。

如果合法客户端和ap之间长时间内没有 ARP request,可以尝试同时使用-0 攻击. 如果没有合法客户端,则可以利用-1 建立虚拟连接的伪装客户端,连接过程中获得验证数据包,从而产生有效 ARP request。再通过-3 模式注入。

aireplay-ng -3 -b <ap mac> -h <my mac> -x 512 wifi0

参数说明:

【-3】:arp 注入攻击模式
【-b】:设置 ap 的 mac
【-h】:设置
【-x】:定义每秒发送数据户包的数量,但是最高不超过 1024,建议使用 512(也可不定义)

-4 Chopchop 攻击模式

用以获得一个包含密钥数据的 xor 文件 这种模式主要是获得一个可利用包含密钥数据的 xor 文件,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。

aireplay-ng -4 -b <ap mac> -h <my mac> wifi0

参数说明:

【-b】:设置需要研究学习的 AP 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)
-5 fragment 碎片包攻击模式

用以获得 PRGA(包含密钥的后缀为 xor 的文件) 这种模式主要是获得一个可利用 PRGA,这里的 PRGA 并不是 wep key 数据,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。

其工作原理就是使目标 AP 重新广播包,当 AP 重广播时,一个新的 IVS 将产生,我们就是利用这个来研究学习 !

aireplay-ng -5 -b <ap mac> -h <my mac> wifi0

【-5】:碎片包攻击模式
【-b】:设置 ap 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)
Packetforge-ng:数据包制造程序 Packetforge-ng <mode> <options>Mode
【-0】:伪造 ARP 包
packetforge-ng -0 -a <ap mac> -h <my mac> wifi0 –k 255.255.255.255 -l 255.255.255.255–y<.xor file> -w mrarp

参数说明:
 
【-0】:伪装 arp 数据包
【-a】:设置 ap 的 mac
【-h】设置虚拟伪装连接的 mac(即自己的 mac)
【-k】<ip[:port]>说明:设置目标文件 IP 和端口
【-l】<ip[:port]>说明:设置源文件 IP 和端口
【-y】<file>说明:从 xor 文件中读取 PRGA。后面跟 xor 的文件名。
【-w】设置伪装的 arp 包的文件名 Aircrack-ng:WEP 及 WPA-PSK key 研究学习主程序

Aircrack-ng [optin] <.cap/.ivs file>Optin aircrack-ng -n 64 -b <ap mac> name-01.ivs )

参数说明:
 
【-n】:设置 WEP KEY 长度(64/128/152/256/512)aircrack-ng -x -f 2 name-01h.cap

参数说明:

【-x】:设置为暴力研究学习模式
【-f】:设置复杂程度,wep 密码设置为 1,wpa 密码设置为 2 aircrack-ng -w password.txt ciw.cap
【-w】:设置为字典研究学习模式,后面跟字典文件,再后面跟是我们即时保存的那个捕获到 WPA 验证的抓包文件。

2015年4月26日星期日

编译更小的Golang程序

把Go程序变小的办法是:

go build -ldflags "-s -w"


相关解释:

-s去掉符号表,panic时候的stack trace就没有任何文件名/行号信息了,这个等价于普通C/C++程序被strip的效果,

-w去掉DWARF调试信息,得到的程序就不能用gdb调试了。 -s和-w也可以分开使用.


原文:http://sudochina.com/insion/blog/179/

2014年8月20日星期三

配置ModSecurity防火墙与OWASP规则

配置ModSecurity防火墙与OWASP规则
ModSecurity是一个免费、开源的Apache模块,可以充当Web应用防火墙(WAF)。ModSecurity是一个 入侵探测与阻止的引擎.它主要是用于Web应用程序所以也可以叫做Web应用程序防火墙.ModSecurity的目的是为增强Web应用程序的安全性和 保护Web应用程序避免遭受来自已知与未知的攻击.
OWASP是一个安全社区,开发和维护着一套免费的应用程序保护规则,这就是所谓OWASP的ModSecurity的核心规则集(即CRS)。我们可以通过ModSecurity手工创建安全过滤器、定义攻击并实现主动的安全输入验证.
所以,在这篇文章中,我们将配置ModSecurity防火墙与OWASP的核心规则集。我们也将学习如何可以根据我们的需要自定义OWASP的核心规则集或创建自己的定制规则.
本文是在Centos环境中安装和配置的,步骤如下:
第1步
以root用户身份登录到您的服务器,登录之后我们在安装ModSecurity之前需要安装一些依赖包,可以通过以下的命令安装:
1
yum install gcc make libxml2 libxml2-devel httpd-devel pcre-devel curl-devel –y
第2步
安装依赖包后,我们将安装ModSecurity。我们可以通过运行以下命令进行安装:
1
yum install mod_security –y
现在ModSecurity已经成功地安装在系统中。
第3步
ModSecurity安装后,我们需要重新启动Apache服务器。我们可以通过下面的命令重启Apache服务器:
1
Services httpd restart
1
/etc/init.d/httpd restart
现在,我们已经成功地在服务器中安装了ModSecurity,下一个步骤是下载和配置OWASP的ModSecurity规则。所以,我们必须将当前工作目录切换到/etc/httpd的。这可以通过cd命令来完成。
1
cd /etc/httpd
第4步
正如我们在文章的前面所提到的,我们的ModSecurity安装是不完美的,但我们需要增加我们的规则集。这可以通过Github的网站来完成。 Github上是一个开源的平台,让许多开发人员分享他们的项目和应用程序。通过git命令使用clone选项,可以下载Github服务器上的任何内 容。因此,我们将导入预定义的OWASP的ModSecurity规则到我们的服务器。我们可以通过下面的命令做到这一点。
1
2
3
git clone
https://github.com/SpiderLabs/owasp-modsecurity-crs.git
执行该命令后,OWASP的ModSecurity规则将在OWASP-MODSecurity-src目录下保存。可以通过ls命令如下进行查看。
现在,我们必须重新命名OWASP-MODSecurity-src文件夹到ModScurity-CRS。这可以通过mv命令来完成。
1
mv owasp-modsecurity-crs modsecurity-crs
我们可以通过运行ls命令验证。
第5步
我们必须将工作目录更改为mod security-crs。这可以通过cd命令来完成。
1
cd modsecurity-crs
Modsecurity_crs_10_setup.conf是ModSecurity工作的主配置文件。默认情况下,它带有.example扩展名。要初始化ModSecurity,我们要重命名此文件。我们可以用mv命令重命名。
1
2
MV modsecurity_crs_10_setup.conf.example
modsecurity_crs_10_setup.conf
之后,我们要在Apache的配置文件中添加模块。要装入新的ModSecurity模块,编辑Apache的配置文件/etc/httpd/conf/httpd.conf。我们需要在终端中输入以下命令。
1
vi /etc/httpd/conf/httpd.conf
复制/粘贴以下内容到文件的末尾并保存文件。
1
2
3
4
5
&lt;IfModule security2_module&gt;
Include
modsecurity-crs/modsecurity_crs_10_config.conf
Include modsecurity-crs/base_rules/*.conf
&lt;/IfModule&gt;
我们将重新启动Apache服务器。
第7步
现在的ModSecurity已经成功配置了OWASP的规则,但能够按照我们的选择让它工作,我们将不得不作出一个新的配置文件与我们自己的规 则,这就是所谓的白名单文件。通过这个文件,我们就可以控制整个防火墙,创建自己的ModSecurity规则。我们将在modsecurity.d目录 中创建的。打开/通过下面的命令来创建这个文件。
1
Vi /etc/httpd/modsecuirty.d/whitelist.conf
复制下面的规则并保存到该文件中。
1
2
3
4
5
6
7
#Whitelist file to control ModSec
&lt;IfModule mod_security2.c&gt;
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess On
SecDataDir /tmp
&lt;/IfModule&gt;
现在,我们保存文件并重新启动Apache服务器。下面对各行的意义进行说明。
1.SecRuleEngine是接受来自ModSecurity-CRS目录下的所有规则的安全规则引擎。因此,我们可以根据需求设置不同的规则。要设置不同的规则有以下几种。
SecRuleEngine
On:将在服务器上激活ModSecurity防火墙。它会检测并阻止该服务器上的任何恶意攻击。
SecRuleEngine
Detection Only:如果这个规则是在whitelist.conf文件中设置的,它只会检测到所有的攻击,并根据攻击产生错误,但它不会在服务器上阻止任何东西。
SecRuleEngine
Off::这将在服务器上上停用ModSecurity的防火墙。
2.SecRequestBodyAccess:它会告诉ModSecurity是否会检查请求。它起着非常重要的作用,当一个Web应用程序配置方式中,所有的数据在POST请求中。它只有两个参数,ON或OFF。我们可以根据需求设置。
3.SecResponseBodyAccess:在whiltelist.conf文件,如果此参数设置为ON,然后ModeSecurity可以分析服务器响应,并做适当处理。它也有只有两个参数,ON和Off。我们可以根据求要进行设置。
4.SetDataDirectory:在本文中,我们定义的ModSecurity的工作目录。该目录将作为ModSecurity的临时目录使用。
ModSecurity现在已经成功配置了OWASP的规则。现在,我们将测试对一些最常见的Web应用攻击。将测试ModSecurity是否挡住了攻击。
为了做到这一点,我们将尝试在一个存在存储性xss漏洞的网站上进行测试,我们已经配置ModSecurity。在一个网站中最常见的XSS漏洞的 位置将是搜索框,用户可以在网站上搜索任何东西。如果恶意用户试图在搜索框中注入Java脚本或HTML脚本,它会在浏览器中执行。我们可以在搜索框中输 入<_script_>alert(123)<_ data-blogger-escaped-script_=""> 。在正常情况下(当我们的服务器上的没有任何类型的应用程序防火墙),它会在网站显示一个弹窗上本。
如果在服务器上已经平配置ModSecurity,服务器会根据配置阻止XSS攻击,以及生成错误日志。
我们可以检查ModSecurity的错误日志文件。
在/var/logs/httpd/error_logs
我们可以通过下面的命令来检查文件的最后更新的行。
1
tail –f /var/logs/httpd/error_logs
ModSecurity核心规则集(CRS)提供以下类别的保户来防止攻击。
  • HTTP Protection (HTTP防御) – HTTP协议和本地定义使用的detectsviolations策略。
  • Real-time Blacklist Lookups(实时黑名单查询) -利用第三方IP信誉。
  • HTTP Denial of Service Protections(HTTP的拒绝服务保护) -防御HTTP的洪水攻击和HTTP
  • Dos 攻击。
  • Common Web Attacks Protection(常见的Web攻击防护) -检测常见的Web应用程序的安全攻击。
  • Automation Detection(自动化检测) -检测机器人,爬虫,扫描仪和其他表面恶意活动。
  • Integration with AV Scanning for File Uploads(文件上传防病毒扫描) -检测通过Web应用程序上传的恶意文件。
  • Tracking Sensitive Data(跟踪敏感数据) -信用卡通道的使用,并阻止泄漏。
  • Trojan Protection(木马防护) -检测访问木马。
  • Identification of Application Defects (应用程序缺陷的鉴定)-应用程序的错误配置警报。
  • Error Detection and Hiding(错误检测和隐藏) -伪装服务器发送错误消息。

参考文章:
https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
http://spiderlabs.github.io/owasp-modsecurity-crs/
http://www.modsecurity.org/demo/crs-demo.html
http://www.atomicorp.com/wiki/index.php/Mod_security
https://github.com/SpiderLabs/owasp-modsecurity-crs
https://www.owasp.org/index.php?title=Projects/OWASP_ModSecurity_Core_Rule_Set_Project/Releases/ModSecurity_2.0.6/Assessment&amp;setlang=es

来自:网络安全攻防研究室