如何给软件加网络验证
包过滤技术和应用网关是通过特定的逻辑判断来决定是否允许特定的数据包通过,一旦判断条件满足,防火墙内部网防火墙络的结构和运行状态便“暴露”在外来用户面前,这就引入了代理服务的概念,即防火墙内外计算机系统应用层的“链接”由两个终止于代理服务的“链接”来实现,这就成功地实现了防火墙内外计算机系统的隔离
帮忙破解这个软件的网络验证
网络加速器,可借***技术虚拟拨号加速软件。
随着互联网的迅速发展,截至2008年12月底,国内网游玩家规模已经达到了 5550万人,然而大部分玩家却一直饱受“网络瓶颈”问题的困扰,因不同运营商之间跨网通讯存在较多问题,电信、联通(网通)、铁通、教育网,各个运营商之间的网络在访问内部网络时都很流畅,但一旦牵涉到访问其他运营商网络时,就经常出现延迟过高、丢包之类的情况,尤其是教育网,内部带宽资源丰富,但与其他运营商之间的内网访问问题非常严重。
在互联网界有人说:“世界上最远的距离不是从中国到美国,而是从电信到网通!”。
有问题就有对策,网络加速器应运而生。
网络加速器工作原理 这里浅谈一下,加速软件的工作原理,普及下加速软件的知识,让网民在选择上能作出正确的判断,不至于盲目选择导致损失。
其实加速软原理很简单,就是利用***技术, ***技术图解用户通过一台登陆服务器用加速软件商提供的账号密码拨号登陆到一台具有双线带宽的服务器上(专业术语叫:节点服务器)并与之建立连接并改变当前(即本机的上网环境)网络环境。
在访问的时候,将本机访问的目标(例如:一个网址)通过节点服务器转发一次,从而完成加速效果。
...
网上安全认证机构(CA)的认证原理
一、电子认证的概念 --电子签名只是从技术手段上对签名人身份做出辩认及能对签署文件的发件人与发出电子文件所属关系做出确认的方式。
但如何解决上文提到判定公共密钥的确定性以及私人密钥持有者否认签发文件的可能性等问题,则是电子签名技术本身无法解决的问题。
换言之,这里面有一个解决私人密钥持有人信用度的问题。
这里面包括两种可能性。
一是密钥持有人主观恶意,即有意识否认自己做出的行为;二是客观原因,即发生密钥丢失、被窃或被解密情况,使发件人或收件人很难解释归责问题。
事实上,相类似的问题在我们传统商业交易活动中也存在,只不过我们有一套相对完整的解决方案罢了。
当然这里包括相配套的法律规范及保护措施。
在传统的签字(盖章)使用中,为了防止签字(盖章)方提供伪造虚假或被篡改的签字(盖章)或者防止发送人以各种理由否认该签字(盖章)为其本人所为,一些国家或地区采取通过具有权威性公信力的授权机关对某印章提前做出备案,并可提供验证证明的方式,防止抵赖或伪造等情形发生。
例如,在我国台湾省,对一些重要法律文件(如房地产买卖交易文件),对印章真实性认证就采取下述方式处理:为保证盖过章的文件的真实性,印章持有人在盖章之前需把印章送到具有权威性的户政事务所登记备案,并申请印鉴证明,之后再把印鉴证明同盖过章的文件一并送给收件方,收件方将印鉴证明同原件相比较,如完全一致,就可确认文件及其印章的真实性了。
ˉ在电子交易过程,同样需要一个具有权威性公信力的第三者作为安全认证机关(Certificate Authority)对公开密钥行使辨别及认证等管理职能,以防止发件人抵赖或减少因密钥丢失、被偷窃或被解密等风险。
由此可见,电子签名的安全使用必须配合安全认证机关体系的建立。
事实上,西方很多国家(美国、加拿大、德国等)以及日本都已经或正在建立相配套的公共密钥基础设施( public key infrastructure)。
这样,网络上电子签名与CA认证的相互结合就解决了前面阐述的由于电子签名技术方面无法解决的信用度的问题。
二、电子认证的程序 --电子认证的具体操作程序为:发件人在做电子签名前,签署者必须将他的公共密钥送到一个经合法注册,具有从事电子认证服务许可证的第三方,即CA认证中心,登记并由该认证中心签发电子印鉴证明(Certificate)。
尔后,发件人将电子签名文件同电子印鉴证明一并发送给对方,收件方经由电子印鉴佐证及电子签名的验证,即可确信电子签名文件的真实性和可信性。
由此可见,在电子文件环境中,CA认证中心扮演的角色与上述传统书面文件签字(盖章)环境中的第三者(户政事务所)的角色有异曲同工之妙。
CA认证中心正起到一个行使具有权威性公证的第三人的作用。
而经CA认证机关颁发的电子印鉴证明就是证明两者之间的对应关系的一个电子资料,该资料指明及确认使用者名称及其公共密钥。
使用者从公开地方取得证明后,只要查验证明书内容确实是由CA机关所发,即可推断证明书内的公开密钥确实为该证明书内相对应的使用者本人所拥有。
如此,该公共密钥持有人无法否认与之相对应的该密钥为他所有,进而亦无法否认经该密钥所验证通过的电子签名不为他所签署。
电子认证的目的 --电子认证的目的就是通过CA机关对公共密钥进行辨别和认证(包括跨国认证)以防止或减少因密钥的丢失、损毁或解密等原因造成电子文件环境交易的不确定因素及不安全性风险。
同时,认证证明书还能佐证密钥申请人的资信状况。
电子认证的机构 --1. 电子认证机构设立的形式。
--纵观一些国家在电子认证(CA)设定的形式一般有两大类。
第一类是直接由国家有关负责部门下属单位直接设立,从事电子认证服务工作。
或者是由政府的相关部门扮演CA体系中最高一层的认证中心角色。
第二大类是由政府相关部门做出授权,规定严格的审批条件和程序签发认证证书(Certificate),同时行使监督权,以确保网络交易的安全性。
无论是哪种形式,政府扮演的角色是至关重要的。
其原因有以下几点: --1)权威性。
--只有经国家主管部门授权经营的电子认证服务公司或由主管部门批发经营许可证的CA认证机关签发的电子认证证书最有权威性。
在一定意义上,这正如只有经公安部门发出的个人身份证具有绝对可靠的权威性一样。
--同时,由于电子认证在网络中的应用具有跨越国界的特性,只有国家主管部门以国家名义出面介入,从而使得电子认证的效力的可靠性具有为他国承认的后果。
--2)标准化。
--政府主管部门可规定法律统一的技术方案以及规范不同级别的CA机关的电子认证标准及程序。
同时,政府主管机关可担当最高一级的公共密钥认证中心的角色。
这是美国各州及联邦政府以及德国等国公共密钥基础建设体系都普遍采用的一种形式。
--3)可执行性 --由于政府主管机关在CA认证中扮演国家的角色,因此在体系的建立,标准的设定,以及兼容跨国认证等方面具有绝对权威性及统一性的特点。
因此,在实施电子认证服务过程中,其可操作性及可执行性的特点是显而易见的。
这就避免可能由于不同标准(技术及服务两方面)的...
网络加速器的工作原理
网络加速器,可借***技术虚拟拨号加速软件。
随着互联网的迅速发展,截至2008年12月底,国内网游玩家规模已经达到了 5550万人,然而大部分玩家却一直饱受“网络瓶颈”问题的困扰,因不同运营商之间跨网通讯存在较多问题,电信、联通(网通)、铁通、教育网,各个运营商之间的网络在访问内部网络时都很流畅,但一旦牵涉到访问其他运营商网络时,就经常出现延迟过高、丢包之类的情况,尤其是教育网,内部带宽资源丰富,但与其他运营商之间的内网访问问题非常严重。
在互联网界有人说:“世界上最远的距离不是从中国到美国,而是从电信到网通!”。
有问题就有对策,网络加速器应运而生。
网络加速器工作原理这里浅谈一下,加速软件的工作原理,普及下加速软件的知识,让网民在选择上能作出正确的判断,不至于盲目选择导致损失。
其实加速软原理很简单,就是利用***技术, ***技术图解用户通过一台登陆服务器用加速软件商提供的账号密码拨号登陆到一台具有双线带宽的服务器上(专业术语叫:节点服务器)并与之建立连接并改变当前(即本机的上网环境)网络环境。
在访问的时候,将本机访问的目标(例如:一个网址)通过节点服务器转发一次,从而完成加速效果。
给软件加注册码,序列号,或者网络验证的工具有没有?可以用的!
对于伪造网络请求的攻击方面,还有很多技术细节,篇幅有限,如果感兴趣可以看一下我的这篇博客,讲的就是有关验证码方面的一些技术细节:CSRF漏洞的原理如果提到的哪个专业术语我没有做通俗的解释,请在下方回复。
如果觉得长,想要直入主题的话可以直接找到 ---重要内容分割线---,看那部分其实是这套验证码最核心的安全机制。
目前web前端的验证码主要分几类:1 看到图形,肉眼识别后输入字符;2 根据界面图形,进行鼠标、手指(移动端)交互操作;3 短信、电话、邮箱验证。
其中第3条,很多时候往往会与第1条相结合起来,以防止CSRF漏洞造成的短信炸弹攻击。
包括用户无感知的人机检验方式(简单地如前端token+referrer判断,这个待会儿再讲)在内,以上所说的所有手段,终究目的是一个,那就是检查当前访问者究竟是一个“人”,还是一台“机器”。
这在计算机研究领域被称为图灵测试,图灵是一位计算机科学家,他提出对于“人工智能”的定义是:如果把一台电脑放在一个与外界隔绝的房间里,同时把一个人放在一个一模一样的房间里,同时对人和电脑进行各种各样的提问、测试,如果两者做出的反应基本一致(总会有差异,哪怕人与人之间也会有不同),那么认为这台电脑的算法水平已经达到了“人工智能”的级别。
说了这么多,想表达的还是一点,对于“让机器模拟人的行为”或者说“把自己伪装成一个人”,这样的事情在专业领域是有很多研究的。
现在网络上存在着诸多验证码、安全校验等等东西,很多人不理解,认为这种东西增加了人们对于软件的正常使用的成本。
其实这些安全手段,都是为了防止黑客以各种各样的技术手段,伪造网络请求,假冒真实用户的身份去“刷”网站的各个接口。
下面回到主题,来谈一谈题主所提到的这个腾讯的验证码页面的技术实现。
粗略地翻了一下这个页面的源代码(对于web领域,页面程序的源代码是完全裸奔的,这一点与客户端程序不同,所以如果想要研究对方的代码,对于web开发者来说是一件比较容易的事情,换句话说web前端代码里边是没有太多秘密可言的,因此web的安全性也相对差一些),这个页面在我见过的一些验证码系统中是很常见的一种,就是前面提到的那第1种,看图识别输入字符的验证码形式。
下面上代码:先来看看在UI层面,就是最常见的,通过javascript在DOM上绑定的监听事件触发回调,如图所示,如果我把右边红圈中的click监听remove掉,点击按钮之后就什么反应都没有了,所以基本确定它验证码的逻辑都卸载了这个CT_btn_trigger的回调函数中。
然后看看点击后弹出的layer:全都是用DOM实现的,我在代码中没有发现任何flash object的痕迹(为什么提flash,这个也放在后边说),输入验证码之后监听网络数据包,找到了发送验证码的那个接口:服务端的接受验证码的接口为https://ssl.captcha.qq.com/cap_union_verify_new 而我们刚刚输入的一条验证码,query字段名称是ans。
这里的这一条网络请求是https协议传输的,包括整个qq安全中心的页面也都是上了https的,https协议与我们熟知的http协议最大的不同就是,通过加密手段规避掉了网络中间层对数据包的截获,这一点对于这套验证码来说还是值得肯定的,目前的很多验证码系统对于传输验证码的网络请求都没有上https。
昨晚看的仓促,刚刚又翻了一下发现了这一套验证码系统的核心部分,其实就是上面截图中的collect字段,感谢 @李默然 的提醒,这部分其实也就是我在前文中所提到的那个token,从collect这个字段命名不难猜出这个token是一个前端拼装起来的东西。
具体如何拼装,在这里我就不一一扒代码了,考虑到毕竟是一个安全中心的页面,把技术细节在这里讲的太透了,普通用户也不那么关心,反倒是替别有用心的人省了点儿事。
所以就不给腾讯的前端同学找麻烦了,在这里简单述说说吧。
collect参数,在用户点击这个按钮的那一刻,就会从服务端传过来一个collect参数,这时的collect参数中做了一些组装和软加密处理,拿到的是密文,明文中的内容不难猜测一定包裹了验证码所需的那张图片的url。
当输入验证码完成后,从客户端发往服务器的那条请求中,虽然ans字段中的验证码是明文,但是还依然带了一个collect字段,而这时的collect字段和上一个collect字段内容是不同的,显然也是一个加密后的结果,推测可知这个collect字段在服务端解密后拿到的明文中,至少也要包含用户本地操作的一些数据,这数据中就包括,他输入的那段验证码所对应的图片究竟是哪张。
也许存了图片的url,也许是服务端记录图片的某一组key值,但这个对应关系是一定要有的。
以上提到的collect字段,其实是整个这套验证码系统最为关键的一点,黑客如果要破译这层csrf防御,首先需要搞明白两处collect字段是如何加密的。
如果放在其他系统客户端的角度来说,破译这层加密的难度不小,但是由于web客户端的代码是裸奔的,这个天然的劣势导致,黑客不一定要以数学的方法去解出这套加密机制,而是可以直接翻看源代码,看明白collect字段是怎么拼装的,然后只要结合起图片识别模块就可以对这个接口进行强刷了...
网络攻击的一般原理和方法是什么
下载:http://download.csdn.net/source/274376常见网络攻击原理 1.1 TCP SYN拒绝服务攻击 一般情况下,一个TCP连接的建立需要经过三次握手的过程,即: 1、 建立发起者向目标计算机发送一个TCP SYN报文; 2、 目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应; 3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。
利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击: 1、 攻击者向目标计算机发送一个TCP SYN报文; 2、 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应; 3、 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。
可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。
1.2 ICMP洪水 正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。
而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。
这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。
1.3 UDP洪水 原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。
1.4 端口扫描 根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理: 1、 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB); 2、 如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。
相应地,如果IP协议栈收到一个UDP报文,做如下处理: 1、 如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回应任何报文(上层协议根据处理结果而回应的报文例外); 2、 如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。
利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下: 1、 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限); 2、 如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放; 3、 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。
这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。
1.5 分片IP报文攻击 为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。
目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。
如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。
1.6 SYN比特和FIN比特同时设置 在TCP报文的报头中,有几个标志字段: 1、 SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接; 2、 ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段,作为对上一个报文的相应; 3、 FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接; 4、 RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文; 5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。
正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。
而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个操作系统的协议栈在收到这样的报文后的处理方式...