Pandas数据分析介绍
0x00 环境准备日常数据分析时,会遇到以下场景: 线上大数据情景下,一般使用大数据平台分析。如:hadoop写代码,Hive写SQL,阿里云MaxCompute写SQL。 本地Excel、csv等格式数据分析、处理情景。python工具库可以用来愉快地对数据进行分析和处理。(当然可以装1个本地数据库分析) 日常测试学习可以下个Anaconda数据分析集成环境,包含JupyterLab、Jupyter NoteBook、PyCharm等相关工具。并且安装了数据分析所需要的常见python库,不需要考虑依赖的问题。 Pandas库是数据分析工具库之一,处理Excel、CSV等文本格式文件非常方便,并且可以像写SQL一样对数据进行分析。 NumPy是强大的科学计算库。支持 ...
阅读更多
Puppeteer使用
0x00 puppeteer vs seleniumPuppeteer是一个Node库,封装了Chrome DevTools协议来提供操控Chrome的API。 优点 缺点 Puppeteer - 性能好,容易安装,yarn、npm一键安装。- Chrome官方维护。- 更好地支持Chrome浏览器。- 直接使用evaluate函数,便可在页面上下文执行JS代码。 - 官方只维护nodejs版本。python版本1年多没人维护。 - 只支持Chrome浏览器。 Selenium - 适配多种浏览器。 - 多语言支持。- 开发者社区活跃,用户多。 - 比puppeteer要慢。 - 不同环境需要安装不同的WebDriver 比较两者的代码可以感觉: Puppeteer基 ...
阅读更多
CodeQL使用
0x00 环境搭建CodeQL技术让人眼前一亮,它将代码当作数据来处理,使用类似SQL的语法来查询代码的AST和数据流。本文简单介绍下该工具的使用和基本知识,当作备忘录。 该工具的特点: 将代码当作数据,用SQL查询。 支持多种语言(暂时不支持PHP) 数据流/污点追踪,AST语法树都有。 研究还是看官方文档靠谱,我看过的文档记录下来。 入门QL语法:https://help.semmle.com/QL/learn-ql/introduction-to-ql.html QL语法手册:https://help.semmle.com/QL/ql-handbook/predicates.htmlJAVA QL语法支持:https://help.semmle.com/QL/learn ...
阅读更多
laravel框架调试OrderBy防注入方式
0x00 配置过程12pecl install xdebughttps://janostlund.com/2019-03-22/xdebug-php72-laravel-valet-phpstorm 着重注意2点: php --ini 找到php.ini的位置,复制xdebug的配置到文件。 配置xdebug端口 0x01 OrderBy注入结论: dir使用了白名单,只允许asc、desc sort转义了反引号(`)为2个 valet start启动,直接打断点: 1http://backpack-demo.test/sharp/api/list/voucher?dir=desc&filter_status=1%20%23%20&search=&sort= ...
阅读更多
Padding Oracle——1种加密算法的攻击方法介绍
0x00 前言这里结合实际遇到的实现用户Token场景,在设计上使用了AES-CBC加密算法,会有些安全问题需要注意。因此,写下这篇文章分享下1个有趣的攻击方法。文章会简单其介绍原理,着重给出1个代码示例场景,来介绍1种加密算法的攻击方法——padding oracle。 文章会首先给出代码业务场景,再从攻击者视角阐述整个攻击过程,接着从RD程序员视角剖析问题产生原因、定位错误代码,最后从安全视角讨论针对该攻击应该采取的安全措施、加密算法脆弱性。 总之,这里主要是根据自己审计代码的经验,来模拟展现黑客的攻击方法和攻击产生的直观效果,并提出一些安全方面的建议。深入padding oracle算法的攻击原理以及相关阅读材料,请看这篇文章。 0x01 简单原理介绍直接看Demo和攻击实现,可跳过这 ...
阅读更多
RASP技术实现
0x00 概念 运行时应用自我保护,RASP(Runtime Application Self-Protection)是一种植入到应用程序内部或其运行时环境的安全技术。它能够控制应用程序的执行流程,并且可以实时检测和阻止漏洞攻击行为。该技术可以用来通过自我保护的措施来阻止相关网络攻击,或在没有人为干预的情况下自动重新配置环境,以此来解决特定网络问题(威胁,故障等)。 WAF原理和RASP原理做比较: WAF在边界进行规则匹配。 RASP技术在应用程序内部进行探测和规则分析,更为精准。优点:1.误报率低。2.可以防护0Day级别的漏洞攻击。缺点:1.对应用程序性能有消耗。理论上是5%~10%。 0x01 Java版本技术实现原理(OpenRASP分析)RASP技术实现实质是在不接触应用源码 ...
阅读更多
Fastjson反序列化漏洞调试分析
0x00 攻击向量fastjson攻击有2个条件: 版本限制,<=1.2.24。之后禁止了autoType自动类型判断。 写法有限制,具体看代码。 攻击利用了fastjson的@type属性,使用它可以指定实例化对象的类。Payload有几个,这里挑最普遍使用的JNDI方法来分析原理。 payload如下,利用参考marshalsec: 1234567891011121314public Object exp1(){ //JDK 8u121以后版本需要设置改系统变量 System.setProperty("com.sun.jndi.rmi.object.trustURLCodebase", "true"); //LADP ...
阅读更多
DDCTF2019 "再来1杯Java"出题记录
0x00 总体思路题目请看:https://ddctf.didichuxing.com/challenges#%E5%86%8D%E6%9D%A51%E6%9D%AFJava考点3个: padding oracle 任意文件下载 Java反序列化攻击 看同学们解题基本按照我的预想,但细节还是有我没料想到解法。希望大家在做这道题目,展现自己水平的同时,也能细细体会下,学到一些有用的知识。接下来,我就聊聊这几个考点涉及到有趣的故事。 0x01 具体分析1. padding oraclepadding oracle的资料很多,但我看到的大多都是2个block,直接改变IV来加解密。想给大家传递个点是,针对(>2)个block的密文,同样是可以进行PaddingOracle攻击。思路是:将 ...
阅读更多
spring actuator 攻击方式分析记录
0x00 复现记录原文章作者已经给出了漏洞环境:https://github.com/artsploit/actuator-testbed 直接run起来就行,不用管报错信息~ 1. 攻击方式一 – 通过eureka组件RCESpring actuator 提供了/env接口来查看和改变应用程序的环境变量~因此,找到了eureka.client.serviceUrl.defaultZone属性~ 记录2个要点: 访问/env时,直接复制下面的请求再改细节,浏览器抓包改会有问题~ 1234567POST /env HTTP/1.1Host: 127.0.0.1:8090Content-Type: application/x-www-form-urlencodedCache-Contro ...
阅读更多
Jenkins未授权访问RCE漏洞复现记录
0x00 环境 A flaw was found in Pipeline: Declarative Plugin before version 1.3.4.1, Pipeline: Groovy Plugin before version 2.61.1 and Script Security Plugin before version 1.50. Script Security sandbox protection could be circumvented during the script compilation phase by applying AST transforming annotations such as @Grab to source code elements. Bo ...
阅读更多