网络安全工程师难学吗,网络安全工程师难学吗好不好就业

首页 > 招聘 > 作者:YD1662023-05-07 01:56:51

03 漏洞三:url跳转

其实有时候,挖漏洞这事儿还是有点运气成分的,连续好几天,我都没挖到漏洞。

在胡乱点的时候,有一个站引起了我的兴趣,他的注册接口是这样的。

https://*/sss/yyyy?returnUrl=https://*/#/xxxx/xxx

我对url参数比较敏感,通常会先测试ssrf/xss,即使他大概率不存在,我也会测试下,很显然,半自动化工具没有发现任何ssrf和xss漏洞。

先注册了一个账号尝试登录下,但账号需要审核,我尝试绕过,但是失败。

那我就随便看看,都不抓包了,右键查看源代码,发现了这么一段代码。

if(location.hash){location="https://hostname" location.hash.substring(1);}

稍微学过一点js的也不会陌生。

不过我们还是要走一遍基础的测试流程,它使用 location.hash.* 去传递参数。

这个就是锚点符,常用于站内url跳转,记录#/后面的内容,其实这里的本意是做站内url跳转用的,不过这里没在hostname结尾处加/这个字符串,导致可以任意跳转。

我们简单测试下:

网络安全工程师难学吗,网络安全工程师难学吗好不好就业(9)

这个时候,如果我们想任意url跳转怎么办?

只需要让location.hash.substring(1)变成另一个我们的域名即可,构造poc如下:

http://example.com/#.dnslog.cn

他会直接跳转出信任域,实现任意页面url跳转

网络安全工程师难学吗,网络安全工程师难学吗好不好就业(10)

除了这样还可以通过 @domain 去跳转到第三方网站,更加方便!

修复方案也很简单:

if(location.hash){location="https://hostname/" location.hash.substring(1);}

至此,第三个漏洞就分享完了。

04 漏洞四:盲ssrf漏洞

前面有提到过,一般我看到url参数都会尝试下ssrf/xss漏洞,这里我发现了一个图片加载功能,存在ssrf。

在分享ssrf实战案例之前,先给你分享个ssrf安全测试圣经:

https://github.com/cujanovic/SSRF-Testing

github上提供的测试用例:

https://ssrf.localdomain.pw/img-without-body/301-http-169.254.169.254:80-.i.jpg

如果想探测是否开放gopher,又不想触发waf,怎么做?

https://ssrf.localdomain.pw/img-without-body/301-gopher-{http://dnslog.cn}-.i.jpg

这个url地址是可以变化的,测试什么协议就变成什么协议,其他测试样本不再举例,类似的都可以随意转换。

这里尝试301跳转:

网络安全工程师难学吗,网络安全工程师难学吗好不好就业(11)

dnslog成功收到请求,注意User-Agent,是libwww,perl的一个请求依赖库:

GET / HTTP/1.1

TE: deflate,gzip;q=0.3

Connection: TE, close

Host: http://bt8vfrpehb5ur0ldbb4o47c9s0yqmf.burpcollaborator.net

User-Agent: ImageVacuum/2.3.10 libwww-perl/6.57

使用上面的思路,测试下敏感协议,gopher协议:

网络安全工程师难学吗,网络安全工程师难学吗好不好就业(12)

上一页1234下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.