
安全
Kawa103
这个作者很懒,什么都没留下…
展开
-
Window10编译Ollvm环境
在linux环境下编译:https://blog.youkuaiyun.com/u014476720/article/details/85097441在window10环境下编译,需要羡慕两个软件工具:刚开始用了mingw-w64最新包8.1.0一直编译不成功,后来用了5.4.0的,就可以正常编译1.mingw-w64离线包下载:https://sourceforge.net/proje...原创 2019-12-23 17:45:48 · 2281 阅读 · 1 评论 -
Charles使用Map Local改变响应参数
前言:在对其他应用进行渗透测试时,有些字段不同的值可以代表不同的意思,比如说普通用户和VIP用户,userType等于0是普通用户,userType等于1是Vip用户,这种情况如果是普通用户的话,可以改变返回的响应请求参数就可以达到看到Vip用户的效果了。 由于我没有相应的接口进行测试,下面就随便用一个接口了,反正原理一样的第一步:先抓取需要修改数据的接口,之后保存Response返回的数据,...原创 2018-11-29 14:35:55 · 3602 阅读 · 0 评论 -
Android Studio自定义proguard混淆
方法一:(失败)开始的时候感觉有点懵逼,百度上一大堆说去安装目录替换proguard的版本(前提是你下载源码重新编译一个修改好的jar包)那么问题来了,我压根就不知道studio引用的是那个版本的,人家说也不一定引用最新的,网上查了很久我也没得出答案,我的Android studio是3.2版本的,后来我三个版本都替换修改的包,搞着搞着,还是果断放弃吧 Android st...原创 2018-12-27 15:20:02 · 1751 阅读 · 1 评论 -
记一次使用OLLVM增加so文件的分析难度(1)
编译ollvm源码(前提:我的这些都是放在/opt文件夹里面操作的)1. git clone -b obfuscator-llvm-4.0 https://github.com/obfuscator-llvm/obfuscator.git2. mkdir build //这个目录主要是用于存放编译文件而已,其实不要紧的,到时都只是拿里面的编译后的文件来用而已3. cd build4.下面这个...原创 2018-12-21 16:28:35 · 1359 阅读 · 0 评论 -
JNI 获取系统类加载器处理反制Xposed框架
在网上找了很久没有找到 jni 相应的代码,基本都是java的下面是全部代码:/** * 检测xposed * checkXposed */bool checkXposed(JNIEnv *env) { //找到ClassLoader类 jclass classloaderClass = env->FindClass("java/lang/ClassLoa...原创 2018-12-11 17:17:03 · 1655 阅读 · 1 评论 -
简单异或加密处理
异或的理解: 将十进制转换成二进制进行异或,相同的为0 ,不相同的为1,可以看下图理解,异或之后得出的二进制再转十进制,之后的就是异或后的值断点查看过程:异或前:异或后:Java版代码: private static byte[] keyBytes = {1,5,3,4,5}; public static String xor_go(String en...原创 2018-12-17 11:12:07 · 3510 阅读 · 0 评论 -
记一次使用OLLVM增加so文件的分析难度(2)——解决arm64-v8a编译出错
上一篇我用的是android-ndk-r10d的ndk,编译arm64-v8a是有问题的,解决了下面那个“错误提示1”的问题之后,还会有个一个新问题的,问题如下:/opt/android-ndk-r10d/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9/.....原创 2018-12-25 17:08:07 · 1845 阅读 · 0 评论 -
记一次自定义插件(字符串加密插件)
第一次编写插件,开始搞的有点狼狈,一直没有搞明白怎么自定义属性进去,后来看了微信AndResGuard里面的就理解了首先要做的是先定义好自己需要的属性/** * 用于build.gradle中的参数传递 */public class SettingParams { public Iterable<Integer> decryptKey /** ...原创 2019-02-12 14:58:25 · 834 阅读 · 0 评论 -
Win10下用AndroidStudio直接使用Ollvm
编译过程看这里:https://blog.youkuaiyun.com/u014476720/article/details/103662800使用过程:1.去ndk目录替换文件F:\androidsdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin替换这三个就行clang++.execlang.execl...原创 2019-12-23 17:38:40 · 3520 阅读 · 8 评论 -
记一次利用动态调试so包破解协议 (2)
继续上一篇https://blog.youkuaiyun.com/u014476720/article/details/83650566的操作上一篇只分析出so包里面的 buildParam2 里面的加密方式,这一篇来看看buildParam1的加密方式这里分析是已用户主页的接口对应在分析buildParam1里面的加密方式的时候比较坑,可能是工具的原因,又或者是开发者设置的阻碍吧ida打...原创 2018-11-13 15:12:03 · 762 阅读 · 0 评论 -
记一次利用动态调试so包破解协议 (1)
前期工作:1.设置手机为调试模式,我这里用了 mprop相关命令:1.chmod 755 /data/local/tmp/mprop2.data/local/tmp/mprop3.setprop ro.debuggable 14./data/local/tmp/mprop -r5.查看 getprop ro.debuggable这样代码成功了2.修改selinux...原创 2018-11-02 15:58:36 · 1102 阅读 · 0 评论 -
JavaWeb安全模式绕过
http://网址/%c0%ae/WEB-INF/web.xml在Java端"%c0%ae"解析为"\uC0AE",最后转义为"." 即 "."原创 2017-11-21 16:54:30 · 837 阅读 · 0 评论 -
EL表达式漏洞利用
一、EL表达式简介 EL 全名为Expression Language。EL主要作用: 1、获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组) 2、执行运算 利用EL表达式可以在JSP页面中执行原创 2017-11-23 17:41:38 · 2491 阅读 · 0 评论 -
Android安全防护(3)-增加so文件的调试难度
人家说在NDK开发中,源文件的函数都有一个默认的visibility属性为public,编译生成的so文件中几乎所有的函数名、全局变量名均被导出,不过我感觉设置了好像作用也不太大,为了有这么一个知识点,还是写一遍吧。 其实关键的还是这个属性 -fvisibility=hidden 在Application.mk里面的写法是 LOCAL_CFLAGS := -fvisibility=h...原创 2018-06-21 11:14:17 · 378 阅读 · 0 评论 -
Android安全防护(1)-实现一个简单的so文件反调试
引入的包:#include <sys/ptrace.h> 重新JNI_OnLoad JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved){ ptrace(PTRACE_TRACEME,0 ,0 ,0); return JNI_VERSION_1_6;}原理:ptrace被广泛...原创 2018-06-07 17:25:32 · 1146 阅读 · 0 评论 -
Android安全防护(2)-动态注册JNI方法
动态注册jni方法的好处就是增加逆向的分析难度两个对比较就会很容易发现没有加密的很容易就会知道那个方法是干啥的箭头1是根据javah自动生成的方法名箭头2是自定义方法名的,上面是加密过后的方法名 用动态注册的方式最主要的是建立一个映射表 //映射方法表static JNINativeMethod methods[] = { {"test...原创 2018-06-19 13:16:44 · 341 阅读 · 0 评论 -
Charles4.2.7破解练习
修改后的:修改前的,进入需要等待上图是根据全局搜索关键词“This is a 30 day trial version”找到,由这个方法showRegistrationStatus得知主要是注册了就不会显示免费三十天,可见kKPk.lcJx()是控制是否注册了的关键点具体详情可以看这里(http://www.520monkey.com/archives/1295),我都是参...原创 2018-10-22 17:25:02 · 1404 阅读 · 0 评论 -
Android so注入进程练习
注入代码:#include <stdio.h>#include <stdlib.h>#include <asm/user.h>#include <asm/ptrace.h>#include <sys/ptrace.h>#include <sys/wait.h>#include <sys/mman.h&g原创 2018-10-25 11:26:08 · 779 阅读 · 0 评论 -
记一次使用Xposed框架DumpDex插件脱壳
DumpDex源码:https://github.com/WrBug/dumpDex 使用的时候还需要自己将安装包里面的lib里面的包导入手机,解压安装包就能看到lib目录导入到这个文件夹/data/local/tmp/ 因为DumpDex插件是这样加载so包的,看下面代码知道插件运行的时候有个问题需要处理,就是 seLinux导致权限问题导致错误:java.lan...原创 2018-10-25 18:10:12 · 7647 阅读 · 5 评论 -
记录一次子母包问题导致找不到路径
根据这篇文章https://bbs.pediy.com/thread-246767.htm的思路以广州圈app为案例,分析其的代码发现,采用的是插件化加载方式,下载的apk包只是一个载体,真正的apk隐藏在assets里面,不过这样感觉还是挺好的,可以减小apk包的大小,至于这种方式有没有不好的我就不知道了,因为我没有试过插件化的。现在知道了真实包在那里,下面就开始进行hook其的加密...原创 2018-11-01 11:07:22 · 462 阅读 · 0 评论 -
记一次某App反编译分析
每次寻找漏洞的时候,我都喜欢从抓包开始噢噢,这里有点尴尬~~请求和返回的数据都进行了加密处理,这波操作我挺喜欢的,证明人家公司的开发人员还是有点安全意识的,不过没有关系,他有张良计,我有过墙梯,先反编译一波看看,使用的工具是 jadx很明显,app用了360加固了,哎,在以前,有加固的应用我基本会放弃的,不过现在没关系,脱壳呗我用的脱壳源码在这里 https://githu...原创 2018-11-09 11:14:09 · 760 阅读 · 4 评论 -
测试Tomcat CVE-2017-12615 远程代码执行漏洞
tomcat服务器安全前提:修改这个目录下的web.xml 在web.xml里面添加一下代码 readonly false 第一步:先写一个请求,我这里用的是get请求 kawa 随便都行,主要是用于抓包用,下图是请求抓的包,接着改包,改成下面的样子原创 2017-10-27 12:42:43 · 3883 阅读 · 0 评论