北风飘然

谈谈并发问题攻击面

负责了近一年的资金相关的业务,可怕的不是传统sql注入、xss、ssrf,而是涉及到钱的一些操作。说到钱不得不提及一个我挖洞赚钱不怎么关注的问题,并发问题。也叫条件竞争…. 最开始看到条件竞争还是在web hacking 101这本书里 有把条件竞争算到了逻辑漏洞里Hacking Starbucks for unlimited coffee,看到了这个有种恍然大悟的感觉,然而在挖洞的时候也没...

暴力的攻击-Dos

==说起拒绝服务有些人会把DDoS,学术叫分布式拒绝服务,攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,这玩意无解 和技术没啥太大关系,只要肉鸡多你就牛批,之前游戏群里有人还装x说这个学起来半年就会,这玩意还要学? 咳咳… 不吐槽了,接着说。还有一种叫cc攻击,公司前几天就被cc了,CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽。 这个咱也不...

python ssrf到命令执行

说命令执行其实有点牵强 后续没做了 最近公司有个新业务 之前另外一个同事负责的 最近交给我了 突然发现还有个后台就看了下, 发现是用django写的 估计没啥越权了 但是看到了个组件 DjangoUeditor 一查发现15年就停止更新了 还有个任意文件上传,看了下代码 还有任意文件读取 ssrf… 这玩意随便一看就没有鉴权 挑着catchimage 看下 一看命名就是危险方法 ...

一次EL表达式注入

安全测试的时候同事发现 有个模板 可以带入变量 大概是这样的 { "content": "${a} ${b}", "params": [ "123","456" ] } 最后解析结果是”123 456” 觉得有表达式注入 我说试下${${a}+${b}}呢 结果果然返回的是579 存在EL表达式注入无疑了 一路跟踪代码 发现接口只是做了替换 最后...

安卓10证书问题

最近换了安卓手机 好不容易root了 话说一加现在root也太麻烦了 传说定制化方便也不知道谁谣传的,开开心心装完证书之后, 发现抓不到https的包 最后一查才知道 原来安卓10以后不再信任用户证书需要 设置到系统用户 这就麻烦了 首先导出 burp证书 然后要用到openssl openssl x509 -inform DER -in cacert.der -out cacert.p...

java Runtime.exec 反弹shell 问题

前几天看到个 java remote debug端口开着 发现能直接命令执行 于是试着反弹个shell 回来 结果发现不行 看了下poc代码 发现用的是 Runtime.exec的方法 结果反弹bash shell不成功 后来查了查才知道 管道符、输入输出重定向 只有在bash环境下才能用 而在这里 我们使用的是java为我们提供的命令执行环境,不支持管道符、输入输出重定向等。因此需要b...

路径匹配的怪异问题

由于穷 用了github的博客 md语法不熟悉 也懒得折腾 就一直放在这了 接之前验签的问题 公司也有不少其他问题 关于过滤器 — 问题在于路径问题 通用方法为了实现一个api验签接口 而设计了一个注册方法 之前一直以为是getRequestURI实现的锅,现在才发现错怪他了 问题在FilterConfiguration.java 和spring boot版本的问题 pom配置一直防止...

java过滤器反思

之前研究路径引发的安全问题其实依赖于tomcat+nginx特性导致 近些天又发现一个安全隐患 在过滤器中有使用startswitch作为过滤使用的,但是有些需求是需要访问本地的js、jpg、png等静态资源的,为了满足需求同时又要做权限控制,于是开发们想了另外一个奇葩的方法,根据后缀判断是否对路径进行访问控制的限制。 于是有了开发在filter中加了如下的骚操作 ``` ...

spring注解学习

最近好忙 有时间优化下java的技术栈,java代码也看了好多了,抽空学下注解 @GetMapping @PostMapping 顾名思义接收get post请求 @RequestMapping 地址映射 @Controller 这个方法要配合注解@ResponseBody使用 @RestController 相当于@Controller+@ResponseBody...

路径差异化可能引发一些安全问题(续)

之前研究了在jetty下得问题   不过现在公司大都使用spring-boot快速开发 spring-boot+tomcat得标配情况下   同样存在一些安全隐患 做个小实验   写一个简单得demo     写一个url过滤器   从规则来看  除了/open  开头得url   /lock得url是不能被访问得 其他url会返回failed 这里就出...