AI技术-安全工作应用
0x00 背景 信息安全工程师没有全栈一说,因为信息安全工程师默认就需要是全栈的。每个人都在往全栈的方向上走,只是走的阶段不同,最终能到达的地方不同而已。 作为默认全栈的21世纪安全工作者,学习下数据、算法的相关知识,当然也是必要的。这篇文章简单总结几个场景和实用工具,来扩充思维,用于日常工作。 0x01 M2环境配置 brew配置 123456789101112vi ~/.zprofileeval "$(/opt/homebrew/bin/brew shellenv)"# Set PATH, MANPATH, etc., for Homebrew.#export HOMEBREW_API_DOMAIN="https://mirrors.tuna.tsinghua.edu.cn/home ...
阅读更多
M2芯片 Android虚拟机环境配置
0x00 本机环境Apple系列的芯片性能好,风扇基本不转。折腾下Android>7的虚拟机环境,证书配置稍微复杂写。 MBP M2 镜像: Android API 33 通过AVD创建Android API 33镜像的虚拟机: 有几点注意: 不能使用Google Play镜像,要用Google API镜像,不然无法root 不能安装x86_84架构的镜像,不兼容: PANIC: Avd’s CPU Architecture ‘x86_64’ is not supported by the QEMU2 emulator on aarch64 host. 0x01 操作步骤1.生成Burp证书: 1234openssl x509 -inform DER -in ...
阅读更多
Java内存马&Elkeid RASP防护
0x00 简介最近抽空看了些Java内存马的文章。本文结合最近比较热门的log4j漏洞攻击写入内存马,然后用字节开源HIDS(Elkeid)的RASP模块进行防护,简单记录下。 0x01 Java内存马1. 概念Java内存马可以在无文件落盘的条件下,写入一个WebShell。 现在各公司流行Spring Boot框架开发,打一个jar包直接RUN,不能直接找文件上传漏洞传JSP的WebShell。这个技术刚好可以用在这种场景下。 内存马注入有很多方法,比如: Spring: interceptor、controller Tomcat: filter、servlet、listener Java Agent …….. 写入内存马需要结合漏洞,执行自定义的Java代码/加载Class,比 ...
阅读更多
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 ...
阅读更多