基本语法HYPERLINK"javascript:;"编辑Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和惊喜。缩进Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。例如if语句:1234if age<21: print("你不能买酒。") print("不过你能买口香糖。")print("这句话处於if语句块的外面。")注:上述例子为python3.0版本的代码根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。控制语句if语句,当条件成立时运行语句块。经常与else,elif(相当于elseif)配合使用。for语句,遍历列表、字符串、字典、集合等HYPERLINK"http://baike.baidu.com/view/925158.htm"\t"_blank"迭代器,依次处理迭代器中的每个元素。while语句,当条件为真时,循环运行语句块。try语句。与except,finally配合使用处理在程序运行中出现的异常情况。class语句。用于定义HYPERLINK"http://baike.baidu.com/subview/738155/10948439.htm"\t"_blank"类型。def语句。用于定义函数和类型的方法。pass语句。表示此行为空,不运行任何操作。assert语句。用于程序调适阶段时测试运行条件是否满足。with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。yield语句。在迭代器函数内使用,用于返回一个元素。自从Python2.5版本以后。这个语句变成一个运算符。raise语句。制造一个错误。import语句。导入一个模块或包。fromimport语句。从包导入模块或从模块导入某个对象。importas语句。将导入的对象赋值给一个变量。in语句。判断一个对象是否在一个字符串/列表/元组里。表达式Python的表达式写法与C/C++类似。只是在某些写法有所差别。主要的算术运算符与C/C++类似。+,-,*,/,//,**,~,%分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取模。>>,<<表示右移和左移。&,|,^表示二进制的AND,OR,XOR运算。>,<,==,!=,<=,>=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~,|,^,&,<<,>>必须应用于整数。Python使用and,or,not表示逻辑运算。is,isnot用于比较两个变量是否是同一个对象。in,notin用于判断一个对象是否属于另外一个对象。Python支持“列表推导式”(listcomprehension),比如计算0-9的平方和:>>>sum(x*xforxinrange(10))285Python使用lambda表示匿名函数。匿名函数体只能是表达式。比如:>>>add=lambdax,y:x+y>>>add(3,2)5Python使用yifcondelsex表示条件表达式。意思是当cond为真时,表达式的值为y,否则表达式的值为x。相当于C++和Java里的cond?y:x。Python区分列表(list)和元组(tuple)两种类型。list的写法是[1,2,3],而tuple的写法是(1,2,3)。可以改变list中的元素,而不能改变tuple。在某些情况下,tuple的括号可以省略。tuple对于赋值语句有特殊的处理。因此,可以同时赋值给多个变量,比如:>>>x,y=1,2#同时给x,y赋值,最终结果:x=1,y=2特别地,可以使用以下这种形式来交换两个变量的值:>>>x,y=y,x#最终结果:y=1,x=2Python使用'(单引号)和"(双引号)来表示字符串。与Perl、UnixShell语言或者Ruby、Groovy等语言不一样,两种符号作用相同。一般地,如果字符串中出现了双引号,就使
HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"树莓派+pythonopencv实现远程监控近来风闻住宿地不太安全,正好手边有个树莓派,花了些时间用树莓派实现了远程监控,下面和大家分享一下,希望有所帮助。因为非计算机视觉专业人士,所以使用了python版的opencv,方便快捷。如何在pc上安装pythonopencv见HYPERLINK"http://luugiathuy.com/2011/02/setup-opencv-for-python/"http://luugiathuy.com/2011/02/setup-opencv-for-python/,曾经见着有中文的桥段找不着在哪里了,对不住了各位不喜英文的童鞋。最后再装上pythonimaginglibrary。安装完成后,在opencv/sample/python目录下有一个camera.py文件,先看此源代码:[python] HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"viewplain"viewplain HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"copy"copy<span style="font-size:18px;">import cv2.cv as cv import time cv.NamedWindow("camera", 1) capture = cv.CaptureFromCAM(0) while True: img = cv.QueryFrame(capture) cv.ShowImage("camera", img) if cv.WaitKey(10) == 27: break cv.DestroyAllWindows() </span> 基本上意思就是说,创建一个源于默认摄像设备的捕捉器,然后不停地一帧一帧地获取图像并显示。按照上述代码,要实现远程监控,一种很简单直接的方法就是在数据源端获取图像之后通过网络传出去,然后在远程端读取出图像并显示。这样可以将整个程序分为三部分:数据源(也就是要监控的地方),服务器(用于中转网络数据),客户端(显示监控图像的地方)。下面逐项讲解。一、数据源端也就是放摄像头的地方。其实,完全可以把电脑开着放在那里然后开着QQ,远端视频聊天即可实现监控。不过这样做略显低端,说出去都有失码农身份。正好手边有一树莓派,正是派上用场的地方。恩,嵌入式开发,听着高端多了。闲话少说,先讲树莓派的配置。首先,用的是Raspbian系统,最好能够先执行sudoapt-getupdate和sudoapt-getupgrade,保证系统是最新的。系统自带python,不需要再安装;安装pythonopencv:sudoapt-getinstalllibopencv-devpython-opencv;安装pythonimaginglibrary:sudoapt-getinstallpython-imaging。大功告成。传输网络数据就用最基本的socket,那么,树莓派上的代码就如下所示:[python] HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"viewplain"viewplain HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"copy"copy<span style="font-size:18px;">import cv import time, socket, Image, StringIO capture = cv.CaptureFromCAM(0) cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH, 640) cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT, 480) HOST, PORT = "192.168.0.102", 9999 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST, PORT)) while
树莓派安装mjpg-streamer视频监控时间 2013-07-1614:53:09 HYPERLINK"http://www.tuicool.com/sites/eUNbQz"\t"_blank"PHP圈原文 HYPERLINK"http://phpquan.com/lamp/linux/mjpg-streamer-raspberry-pi/?utm_source=tuicool&utm_medium=referral"http://phpquan.com/lamp/linux/mjpg-streamer-raspberry-pi/主题 HYPERLINK"http://www.tuicool.com/topics/10300145"\t"_blank"RaspberryPi HYPERLINK"http://www.tuicool.com/topics/11200019"\t"_blank"Linux命令在树莓派上有几种视频监控软件 fswebcam motion mjpg-streamer上面两种都相对简单,唯独mjpg-streamer整了半天。所以记录下安装过程首先安装所需软件 sudoapt-getinstallsubversion sudoapt-getinstalllibv4l-dev sudoapt-getinstalllibjpeg8-devsvn下载软件到本地 svncottps://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamermjpg-streamer 打开mjpg-streamer目录 cdmjpg-streamer/mjpg-streamer 编译安装 makeUSE_LIBV4L2=truecleanall makeDESTDIR=/usrinstall编译时可能会报i:init_VideoInfailed错误 错误原因:市面上大部分摄像头都是支持YUV的,而不是JPEG的。mjpg-stream支持JPEG和YUV两种格式。 1、打开以下文件: sudovimjpg-streamer/plugins/input_uvc/input_uvc.c 2、查找V4L2_PIX_FMT_MJPEG大概第三页 将一行中的:intwidth=640,height=480,fps=-1,format= V4L2_PIX_FMT_MJPEG,i; 把 V4L2_PIX_FMT_MJPEG 改成 V4L2_PIX_FMT_YUYV 需要重新编译才会有效。运行 mjpg_streamer-i"/usr/lib/input_uvc.so-d/dev/video0-y-r320×240-f15″-o"/usr/lib/output_http.so-p8090-w./www"这里很关键,好像视频大小不能大于320×240,前几次设置了640*480,能运行,但打开web无图像。经过测试只要设置到320×240就可以
树莓派使用MJPG-Streamer实现网络监控 (2015-04-2817:04:52)HYPERLINK"javascript:;"INCLUDEPICTURE"http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif"\*MERGEFORMATINET转载▼标签: HYPERLINK"http://search.sina.com.cn/?c=blog&q=%CA%F7%DD%AE%C5%C9&by=tag"\t"_blank"树莓派 HYPERLINK"http://search.sina.com.cn/?c=blog&q=%CD%F8%C2%E7%BC%E0%BF%D8&by=tag"\t"_blank"网络监控 HYPERLINK"http://search.sina.com.cn/?c=blog&q=mjpg-streamer&by=tag"\t"_blank"mjpg-streamer分类: HYPERLINK"http://blog.sina.com.cn/s/articlelist_2882772167_4_1.html"\t"_blank"linux 1. 先更新apt的列表:sudoapt-getupdate sudoapt-getupgrade重启系统后,sudoraspi-config移动到第五项“EnableCamera”,回车进入,按tab键切换到“Enable”回车确认。回到主菜单,tab键切换到“Finish”回车确认。树莓派会自动重启。2. 安装依赖库安装libjpeg的dev版本(注:下面所有安装过程中出现是否继续时,统一选择继续:Yes)sudoapt-getinstalllibjpeg62-devsudoapt-getinstalllibjpeg8-dev3. 下载mjpg-streamerwget HYPERLINK"https://github.com/jacksonliam/mjpg-streamer"https://github.com/jacksonliam/mjpg-streamer或者直接到网站下载zip安装包mjpg-streamer-master.zip使用unzipmjpg-streamer-master.zip解压4. 编译mjpg-streamer安装cmakesudoapt-getinstallcmake切换到mjpg的路径下:cd ~/mjpg-streamer-master/mjpg-streamer-experimental sudomake clean all5. 安装mjpg-streamersudo cp mjpg_streamer /usr/local/binsudo cp output_http.so input_uvc.so /usr/local/lib/sudo cp -R www /usr/local/www6. 开启mjpg-streamerLD_LIBRARY_PATH=/usr/local/lib mjpg_streamer-i"input_uvc.so"-o"output_http.so-w/usr/local/www"或者LD_LIBRARY_PATH=/usr/local/libmjpg_streamer-i"./input_uvc.so-d/dev/video0-r320*240-f12"-o"./output_http.so –p 8090 –w /usr/local/www"或者添加到path路径exportLD_LIBRARY_PATH=/opt/mjpg-streamer/(-r后是分辨率参数,-f后面是帧率,请根据您的摄像头参数进行调整)8090可以自己定义在浏览器http://:8080 打开监控界面
HYPERLINK"http://item.congci.com/item/shumeipai-shexiangtou-shishi-jiankong"树莓派摄像头实时监控motion首先安装usb摄像头,连接后使用lsusb命令查看pi@raspberrypi4~$lsusbBus001Device002:ID0424:9512StandardMicrosystemsCorp.Bus001Device001:ID1d6b:0002LinuxFoundation2.0roothubBus001Device003:ID0424:ec00StandardMicrosystemsCorp.Bus001Device006:ID0c45:62f0MicrodiaBus001Device005:ID0bda:8179RealtekSemiconductorCorp. 已经看到摄像头了,代号为0c45:62f0Microdia的设备就是摄像头,然后用命令pi@raspberrypi4~$ls/dev惊喜的看到设备里有video0,这说明系统自带我摄像头的驱动,已经驱动好了,省的折腾驱动了。然后,更新下系统pi@raspberrypi4~$sudoapt-getupdate最后,安装软件motionpi@raspberrypi4~$sudoapt-getinstallmotion配置motion,具体方法为修改/etc/motion/motion.conf文件,将Daemon=off改为on,webcam_localhost=on改为off,默认的监控端口为8081,改不改都可。为了方便,设置开机自动运行,方法为更改/etc/default/motion文件,把start_motion_daemon=no改为yes。重启树莓派pi@raspberrypi4~$sudoreboot重启后就可以看看效果了,在浏览器输入树莓派IP:端口就可以了。摄像头正对我楼下自行车棚的门口,有人走动的话,会实时拍照的,哈哈。暂时就搞到这里,下一步考虑将拍摄的照片同步到网络存储,比如dropbox,Dbank等等。监控网址就不公布了,貌似私自架设是违法的,O(∩_∩)O--------------------------------------------------------------------记得在Raspibian中的系统配置UI里,enablecamera:1sudo raspi-config然后就可以测试下摄像头了。一切木有问题后即可准备通过网络远程监控,其他参数直接看命令自带的帮助即可。1#这个是测试静态图片2raspistill-oimage.jpg3#这个是测试10秒短片4raspivid-ovideo.h264简单说一下原理,你的windows电脑作为接收器,通过nc和mplayer软件持续监听接收缓存来自网络上的视频信号(流);而树莓派作为发送者,只要持续的将视频信号发送到某个ip上即可。这个方案也有不好的地方,就是必须在树莓派上通过命令行来指定接受者。首先windows上下载这两个东西,建议把两个软件的内容都解压缩到一个文件夹下面。HYPERLINK"http://liyao.me/raspberry-pi-wifi-camera/mplayer-svn-36251/"前往下载页面:mplayer-svn-36251.7zHYPERLINK"http://liyao.me/wp-content/uploads/2013/12/nc111nt.zip"前往下载页面:nc111nt.zip然后在这个文件夹里整一个.bat文件,随便叫啥好了,内容如下,啥都不用改:1nc.exe-L-p5001|mplayer.exe-fps31-cache2048-双击执行这个文件,然后在树莓派上执行:1raspivid-t999999-o-|nc[你的IP]5001搞定!就是这么简单。这样你就能在windows上局域网里看到监控画面了。对于linux或者osx上的监视方法,参考-------------------------------------------------------------------------------------------------------------------------------树莓pi(或者说linux)的兼容性不错,插上摄像头之后,使用lsusb查看usb设备Bus001Device004:IDeb1a:2571eMpIATechnology,Inc.M035CompactWebCam接下来安装软件motion(可以获取摄像头的数据,生成图片或发
MyCAT性能调优指南JVM调优:内存占用分两部分:java堆内存+直接内存映射(DirectBuffer占用),建议堆内存适度大小,直接映射内存尽可能大,两种一起占据操作系统的1/2-2/3的内存。下面以服务器16G内存为例,Mycat堆内存4G,直接内存映射6G,JVM参数如下:-server-Xms4G–Xmx4GXX:MaxPermSize=64M-XX:MaxDirectMemorySize=6G用mycatconsole等命令启动MyCAT的,JVM参数都在conf\wrapper.con文件中,下面是一段实例:#JavaAdditionalParameterswrapper.java.additional.5=-XX:MaxDirectMemorySize=2Gwrapper.java.additional.6=-Dcom.sun.management.jmxremote#InitialJavaHeapSize(inMB)wrapper.java.initmemory=2048#MaximumJavaHeapSize(inMB)wrapper.java.maxmemory=2048操作系统调优:最大文件句柄数量的修改,设置为5000-1万,在MycatServer和Mysql数据库的机器上都设置。Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响MySQL的并发连接数目).这个值可用ulimit命令来修改,但ulimit命令修改的数值只对当前登录用户的目前使用环境有效,系统重启或者用户退出后就会失效。Mysql调优:最大连接数设置为2000[mysqld]中有参数max_connections=2000mysql>showglobalstatuslike'Max_used_connections';MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:Max_used_connections/max_connections*100%≈85%最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。Mycat调优:Conf/log4j.xml中,日志级别调整为至少info级别,默认是debug级别,用于排查错误,不能用于性能测试和正式生产中。conf/server.xml中有如下参数可以调整:<system><!—CPU核心数越多,可以越大,当发现系统CPU压力很小的情况下,可以适当调大此参数,如4核心的4CPU,可以设置为16,24核心的可以最大设置为128——><propertyname="processors">1</property>下面这个参数为每个processor的线程池大小,建议可以是16-64,根据系统能力来测试和确定。<propertyname="processorExecutor">16</property></system>System中以下重要参数也根据情况进行调整processorBufferPool:每个processor分配的SocketDirectBuffer,用于网络通信,每个processor上管理的所有连接共享,processorBufferChunk为Pool的最小分配单元,每个POOL的容量即为processorBufferPool/processorBufferChunk,默认前者为1024*1024*16=16M,后者为4096字节。processorBufferPool参数的调整,需要观察show@@processor的结果来确定:BU_PERCENT为已使用的百分比、BU_WARNS为SocketBufferPool不够时,临时创新的新的BUFFER的次数,若百分比经常超过90%并且BU_WARNS>0,则表明BUFFER不够,需要增大processorBufferPool。基本上,连接数越多,并发越高,需要的POOL越大,建议BU_PERCENT最大在40-80%之间。conf/schema.xml中有如下参数可以调整:<schemaname="TESTDB"checkSQLschema="true">,checkSQLschema属性建议设置为false,要求开发中,不能在sql中添加数据库的名称,如select*fromTESTDB.company,这样可以优化SQL解析。<dataHostname="localhost1"maxCon="500"minCon="10"balance="0"dbType="mysql"dbDriver="native"banlance="0"><!—最大连接池maxCon,可以改
OracleAnalyticFunctionsInPracticeBydingjun1232013.06http://blog.chinaunix.net/uid/7655508.html主要内容甲:我有个SQL,你能帮我用分析函数改写下吗?乙:相关列有索引吗?甲:owner有索引,选择性不错,我想用分析函数改写看看?乙:哦,知道了,这是典型的top-n查询。SELECTowner,object_typeFROMdemo2WHEREowner='DINGJUN123'ANDtrunc(created,'dd')=(SELECTMAX(trunc(created,'dd'))FROMdemo2WHEREowner='DINGJUN123')SELECTowner,object_typeFROM(SELECTowner,object_type,dense_rank()over(ORDERBYtrunc(created,'dd')DESC)rnFROMdemo2WHEREowner='DINGJUN123')WHERErn=1分析函数作用子查询方法总行数:667827返回9行原始SQL:逻辑读848,COST:1103优点:最容易想到缺点:多次访问表或索引分析函数方法分析SQL:逻辑读423,COST:693优点:减少表或索引的访问次数,逻辑读和COST是常规方法的一半,SQL简单缺点:需要排序操作进一步优化建立owner,trunc(created,’dd’)desc复合索引作用对于原始SQL子查询可以快速扫描,分析函数消除排序优化后原始SQL逻辑读/COST:111/171,分析函数:6/767------------------------------------------------------------|Id|Operation|Name|Rows|------------------------------------------------------------|0|SELECTSTATEMENT||202||*1|TABLEACCESSBYINDEXROWID|DEMO2|202||*2|INDEXRANGESCAN|IDX_DEMO2|20237||3|SORTAGGREGATE||1||4|TABLEACCESSBYINDEXROWID|DEMO2|20237||*5|INDEXRANGESCAN|IDX_DEMO2|20237|PredicateInformation(identifiedbyoperationid):-------------------------------------------------------------1-filter(TRUNC(INTERNAL_FUNCTION("CREATED"),'fmdd')=(SELECTMAX(TRUNC(INTERNAL_FUNCTION("CREATED"),'fmdd'))FROM"DEMO2""DEMO2"WHERE"OWNER"='DINGJUN123'))2-access("OWNER"='DINGJUN123')5-access("OWNER"='DINGJUN123')------------------------------------------------------------|Id|Operation|Name|Rows|------------------------------------------------------------|0|SELECTSTATEMENT||20237||*1|VIEW||20237||*2|WINDOWSORTPUSHEDRANK||20237||3|TABLEACCESSBYINDEXROWID|DEMO2|20237||*4|INDEXRANGESCAN|IDX_DEMO2|20237|------------------------------------------------------------PredicateInformation(identifiedbyoperationid):---------------------------------------------------1-filter("RN"=1)2-filter(DENSE_RANK()OVER(ORDERBYTRUNC(INTERNAL_FUNCTION("CREATED"),'fmdd')DESC)<=1)4-access("OWNER"='DINGJUN123')分析函数作用分析函数的作用总结---------------------------------------------
准循环低密度奇偶校验(QC-LDPC)码在无线通信系统中经常使用,因此低编码复杂度便非常重要。在本文中,提出一个新的方案构建低编码复杂度的QC-LDPC码。该方案被称为两阶段粒子群算法(TS-PSO)算法,其中两个阈值和构成QC-LDPC码周长分配被考虑。该方案由两个阶段组成。在第一阶段中,我们构建的二进制基本矩阵QC-LDPC码的最佳的阈值。矩阵是通过组合一个二进制PSO算法构造和原模图外在信息传递(PEXIT)方法。在第二阶段中,我们搜索一个用最好的周长分布的QC-LDPC码的指数矩阵。这个指数矩阵是基于在第一阶段中获得的基本矩阵。因此,在与该QC-LDPC码的奇偶校验矩阵最好的阈值和最佳周长分布构成。此外,误比特率特性被用于通过提出的方案构造的QC-LDPC码相比,QC-LDPC码在802。16e标准,和QC-LDPC码潭的研究。仿真结果表明,本文中的QC-LDPC编码方法码加性高斯白噪声信道和瑞利信道中优于802。16e的编码和Tam的编码。此外,提出的方案是很容易实现的,并且在构造低编码复杂度的QC-LDPC码具有灵活性的和有效性的特点。
1.1 什么是手动查杀病毒技术 通过对目标系统进程、网络连接状态、随机启动项目等信息的综合分析与判断,结合使用各种系统命令与工具手动确认病毒(木马)与清除病毒的技术 1.2 为什么要学习手工病毒查杀技术 杀毒软件更新慢,主要依赖于病毒库的更新。黑客长期对自己的后门、病毒进行免杀处理。 有关免杀技术介绍:http://baike.baidu.com/view/706274.htm
eIRA码是可迭代解码的低密度校验码。它们不仅提供杰出的性能,而且满足线性时间编码。设计优良的eIRA码可以达到极其低的误码率。在这片论文中,我们成功实现了普通FPGA平台对eIRA码的编码。作为证明,我们从例子4中选取了校验矩阵。对于最大的七次迭代和7位精度,错误率相对于双精度浮点数的结果下降小于2/10分贝。需要被注意到的一个很重要的事情是没有误码率接近 。这种性能通常在实际应用中被要求,据我们所知,但至今从未在文献中通过图形编码中实现。
网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器工具。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站流量实时监控、网站CPU监控、下载线程保护、IP黑白名单管理、网页防篡改功能等模块。能够为用户提供实时的网站安全防护,避免各类针对网站的攻击所带来的危害。
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活、娱乐等各个方面发挥着重要的作用。其中,由于网络的传播的速度快,查找方便,所以对于音乐的流行以及传播有很大的促进左右,音乐网站也相应出现。
SQL注入,文件上传,代码执行,我们把渗透一个站点的所有重点都放在了这些可以一步到位的漏洞上,我们把这些漏洞称之为高危漏洞,这些漏洞在工具化盛行的今天,已经越来越难见到了.现有的工具检测这些主流漏洞的能力已经非常的强大,我们在一般的测试中,只要掌握这些工具的用法,就可以轻易检测到这些问题的所在,所以企业开始慢慢从关注自身安全转移到关注用户安全,而逻辑漏洞就是被广泛关注的对象。
Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。
随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。这也使得越来越多的用户关注应用层的安全问题,对Web应用安全的关注度也逐渐升温。
使用Google等搜索引擎对某些特定的网络主机漏洞(通常是服务器上的脚本漏洞)进行搜索,以达到快速找到漏洞主机或特定主机的漏洞的目的。Google毫无疑问是当今世界上最强大的搜索引擎。然而,在黑客手中,它也是一个秘密武器,它能搜索到一些你意想不到的信息。
Web应用程序的安全问题(所有用户输入都是不可信的)致使应用程序实施大量安全机制来抵御攻击。尽管其执行与设计可能千差万别,但几乎所有应用程序采用的安全机制在概念上都具有相似性。 Web应用程序采用的核心防御机制由以下几个核心因素构成: 处理用户访问应用程序的数据与功能,防止用户获得未授权访问; 处理用户对应用程序功能的输入,防止错误输入造成不良行为; 防范攻击者,确保应用程序在成为直接攻击目标时能够正常运转,并采取适当的防御与攻击措施挫败攻击者; 管理应用程序本身,帮助管理员监控其行为,配置其功能。 鉴于它们在解决核心安全问题过程中所发挥的重要作用,一个典型应用程序的绝大多数受攻击面也由这些机制构成。
Web应用程序使用各种不同的技术实现其功能。本章简要介绍渗透侧试员在攻击Web应用程序时可能遇到的关键技术。我们将分析HTTP协议、服务器和客户端常用的技术以及用于在各种情形下呈现数据的编码方案。这些技术大都简单易懂,掌握其相关特性对于向Web应用程序发动有效攻击极其重要。
SQL注入式攻击技术,一般针对基于Web平台的应用程序.造成SQL注入攻击漏洞的原因,是由于程序员在编写Web程序时,没有对浏览器端提交的参数进行严格的过滤和判断。用户可以修改构造参数,提交SQL查询语句,并传递至服务器端,从而获取想要的敏感信息,甚至执行危险的代码或系统命令。 虽然SQL注入攻击技术早已出现,但是时至今日仍然有很大一部分网站存在SQL注入漏洞,在本章开篇中进行的入侵检测中就发现了各大门户网站同样存在SQL注入漏洞,更别说一些小网站了。由于SQL漏润存在的普遍性,因此SQL入侵攻击技术往往成为黑客入侵攻击网站渗透内部服务的首选技术,其危害性非常大。
为开展行业移动应用安全检测服务,结合国内已有的移动APP应用的安全检测规范,我们特组织本次针对国内主流移动APP应用的安全检测工具测试,为移动安全检测工具提供选型参考。