会话劫持

如何区分国内上网环境中不同的人为网络故障

别等时光非礼了梦想. 提交于 2019-12-02 05:42:16
众所周知,在国内上网会遇到各种各样不同的人为网络故障,使得我们无法正常访问很多网站。但由于很多人并不熟悉网络,很多时候会无法区分不同的网络故障,导致明明是网络故障,却认为是服务器故障;或明明是服务器故障,却认为是网络故障的情况。我觉得有必要说明一下不同网络故障的特征,以及区分它们并解决它们的方法。   在国内上网环境中,我们经常遇到的网络故障有:DNS劫持、DNS污染、IP封锁、服务器防火墙IP过滤、服务器宕机、基于关键词的TCP连接重置、无状态的TCP连接重置、SSL证书过滤、SSL劫持、HTTP会话劫持等网络故障。下面我就依次进行说明:    1、DNS劫持   DNS劫持会导致我们访问了一些不存在的或不稳定的网站的时候,访问到的却是电信114搜索(详见月光博客《 断网后互联星空的浏览器劫持 》)或访问Google却显示了Baidu的主页(详见月光博客《 Google博客搜索摇身一变成百度 》)。   如果需要确认自己是否处在DNS劫持的环境中,我们可以在Windows命令行cmd中使用Windows自带的网络诊断工具nslookup查找一个不存在或不稳定的域名进行一下网络诊断:   C:\>nslookup www.SomeRandomDomainName.com   Server: ns-pd.online.sh.cn   Address: 202.96.209.133  

安全性测试入门 (四):Session Hijacking 用户会话劫持的攻击和防御

扶醉桌前 提交于 2019-12-01 05:38:34
安全性测试入门 (四):Session Hijacking 用户会话劫持的攻击和防御 本篇继续对于安全性测试话题,结合DVWA进行研习。 Session Hijacking用户会话劫持 1. Session和Cookies 这篇严格来说是用户会话劫持诸多情况中的一种,通过会话标识规则来破解用户session。 而且与前几篇不同,我们有必要先来理解一下Session和Cookie的工作机制。 实际上要谈论这两个小伙伴,又要先理解http协议的运作机制,这样讨论下去可就篇幅太长了。 我们只需要了解以下事实: http协议是无状态的 就好像两个人用老式的手摇电话机通电话。每一次http请求和数据交换就像这样的一次电话通话过程,当请求完毕以后,再进行下一次请求时,http协议是无法追踪上一则通话记录的。这样每一次用户与服务器的交互都是独立的一次通话,对于一个web应用而言显然是存在问题的,因为用户的请求十有八九具有连续性。就比如一个用户在商城添加了某商品到购物车,当他去结账时,又是一次新的请求,他的购物车http协议仅仅通过连接状态是无法追踪的! Session:来来来 给你分配个号码牌 为了解决用户的接续访问问题,一个简单的想法就是,将每一次用户与服务器之间的持续通话做为一个“会话”存放在服务器端。 当用户第一次打call进来的时候,你先别说话,先给你个小牌牌

安全开发checklist

馋奶兔 提交于 2019-11-28 19:25:07
美的金融科技安全开发checklist 安全设计与开发checklist 检查类型 检查项(checklist) 输入验证 校验跨信任边界传递的不可信数据(策略检查数据合法性,含白名单机制等) 格式化字符串时,依然要检验用户输入的合法性,避免可造成系统信息泄露或者拒绝服务 禁止向java Runtime.exec()方法传递不可信、未净化的数据(当参数中包含空格,双引号,以-或者/符号开头表示一个参数开关时,可能会导致参数注入漏洞), 建议如果可以禁止JVM执行外部命令,未知漏洞的危害会大大降低,可以大大提高JVM的安全性。 验证路径之前应该先将其标准化为实际路径(特殊的文件名,如“..”,symbolic links 、hard links、shortcuts) 从ZipInputStream提取文件,如果不在程序预期计划的目录之内时,应拒绝将其提取出来,或者将其提取到一个安全的位置 从ZipInputStream提取文件,若解压之后的文件大学超过一定限制时,必须拒绝将将其解压 在处理以前,验证所有来自客户端的数据,包括:所有参数、url、http头信息(比如:cookie名字和数据值),确定包括了来自JavaScript、Flash或者他潜入代码 的postf返回信息 如果任何潜在的危险字符必须作为输入,请确保您执行来了额外的安全控制,比如:输入转义、输出编码

学习PHP精粹,编写高效PHP代码之安全性

非 Y 不嫁゛ 提交于 2019-11-28 19:11:43
一、过滤输入、避免输出 有时我们将短语“过滤输入、避免输出”缩写为FIEO,这已成为PHP应用程序的安全真言。 1、利用ctype进行验证 ctype: http://php.net/ctype 2、利用PCRE(Perl兼容的正则表达式)进行验证 PCRE: http://php.net/pcre 二、跨站脚本 跨站脚本通常简称为XSS,攻击载体以在应用程序输出中由用户提供的变量所在位置为目标,但该变量没有适当地转义。这允许攻击者注入他们选择的一个客户端脚本作为这个变量值的一部分。下面是代码受到这种类型攻击的示例: <form action="<?php echo $_SERVER['PHP_SELF'];?>"> <input type="submit" value="submit" /></form> 在线资源: 1、http://ha.ckers.org/xss.html 2、http://shiflett.org/articles/cross-site-scripting 3、http://seancoates.com/blogs/xss-woes 三、伪造跨站脚本 比方说,某个攻击者想从一个流行的在线商店中得到一个昂贵的商品而不用付钱。相反,他们想让一个毫不知情的受害者支付这笔金额。他们选择的武器是:一个伪造的跨站请求

web的攻击技术

旧时模样 提交于 2019-11-27 09:12:08
1、在客户端即可篡改请求 在web应用中,从浏览器那接收到的HTTP请求的全部内容,都可以在客户端自由地变更、篡改。所以web应用可能会接收到与预期数据不相同的内容。在HTTP请求报文内加载攻击代码,就能发起对web应用的攻击。 2、针对web应用的攻击模式 主动攻击:攻击者通过直接访问web应用,把攻击代码传入的攻击模式。主动攻击模式里具有代表性的攻击是SQL注入攻击和OS命令注入攻击。 被动攻击:指利用圈套策略执行攻击代码的攻击模式。攻击者不直接对目标web应用访问发起攻击。被动攻击步骤如下: 3、因输出值转义不完全引发的安全漏洞 实施web应用的安全对策大致分为以下两部分:客户端的验证、web应用端的验证(输入值验证、输出值转义)。从数据库或文件系统、HTML、邮件等输出web应用处理的数据之际,针对输出做值转义处理是一项至关重要的安全策略。当输出值转义不完全时,会因出发攻击者传入的攻击代码,而给输出对象带来损害。 4、跨站脚本攻击(Cross-Site Scripting,XXS) 指通过存在安全漏洞的web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。跨站脚本攻击有可能造成以下影响:利用虚假输入表单骗取用户个人信息;利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求;显示伪造的文章或图片 5、SQL注入攻击

Cookie&Session

你。 提交于 2019-11-27 05:04:58
Cookie&Session 背景 :Cookie和Session的原理、作用及如何设置和相关面试。 一、诞生背景 HTTP是无状态的,即服务器无法知道两个请求是否来自同一个浏览器,也就是服务器不知道用户上一次做了什么,每次请求都是完全独立的。 早期互联网只是用于简单的浏览文档信息、查看黄页和门户网站等,并没有交互这个概念。但是随着互联网慢慢发展,宽带、服务器等硬件设施得到了很多的提升,互联网允许人们做更多的事情,所以交互式Web(交互式Web即客户端与服务器可以互动,如用户登录、商品购买和论坛等)慢慢就兴起了,而HTTP无状态的特点对此造成了严重阻碍。 由于不能记录用户上次的操作,伟大的程序员发明了隐藏域用于记录用户上一次的操作信息;通过隐藏域把用户上次操作记录放在form表单的input中,这样请求时将表单提交就可以知道上一次用户的操作了,但是这样每次都得常见隐藏域而且需要赋值,既麻烦又容易出错;但是隐藏域作用强大,时至今日都有很多人在用它解决各种问题。隐藏域的写法如下: <input type="hidden" name="field_name" value="value"> 网景公司的卢-蒙特利Lou Montulli,在1994年将Cookies的概念应用于网络通信,用于解决用户网上购物的购物车历史记录,而当时最强大的浏览器也是网景浏览器

针对Web的攻击技术

喜欢而已 提交于 2019-11-25 20:38:56
主动攻击 SQL注入攻击 OS命令注入攻击 会话劫持 被动攻击 XSS攻击 CSRF攻击 HTTP首部注入攻击 会话固定攻击 一、主动攻击 1.SQL注入攻击 什么是SQL? SQL是用来操作关系型数据库管理系统的数据库语言,可进行操作数据或定义数据等。 什么是SQL注入? SQL注入是指针对Web应用使用的数据库,通过运行非法的SQL而产生的攻击。如果在调用SQL语句的方式上存在疏漏,就有可能执行被恶意注入非法SQL语句。 SQL案例: SELECT * FROM bookTb1 WHERE author = '作者'--' and flag = 1 SQL语句中的--之后全部视为注释,即and flag = 1就会被忽略。 2.OS命令注入攻击 什么是OS命令注入攻击? OS命令注入攻击是指通过Web应用,执行非法的操作系统命令达到攻击的目的。 如何攻击? 可以从Web应用中通过Shell来调用操作系统命令。如果调用的Shell时存在疏漏,就可以执行插入的非法OS命令。通过OS注入攻击可执行OS上安装的各种程序。 示例: |/usr /sbin /sendmail ; cat /etc / passwd | mail hack@example.jp 攻击者输入值(; cat /etc / passwd | mail hack@example.jp)中含有分号(;)