next学习规划
0-前言
经过面试学到了如下需要深入学习的技术和扩展的方面,简单记录如下:
1-frida的使用(动态 dump dex) –⑤
2>ida动态调试 –⑥
2-oss存储桶漏洞相关利用
3-SpringBlade微服务框架
4-反序列化框架的学习(未手动找到过这种漏洞,被动扫描出一次,特征:参数为object)
5-双向认证(mTLS) –①
下一步学习目标汇总:
①部分逆向(java和so层的反反调试精进,js逆向的进一步深入学习)
②主机渗透(开放服务的利用)
③横向移动与权限加固(红队)
④二次反序列化链、java的分析(漏洞分析的学习)
⑤app、路由器等设备的漏洞排查(双向认证、TLCP的解密)
1-frida的去壳/使用
前言
开发环境下的app一般属于无需去壳的,生产环境的app大多加固混淆以及反调试,UAT环境应该是用来保护证书的
所以要学习去壳从而可以删除里面的反调试之类的代码,然后重打包App,进而可以用objection进行排查类找到hook点
加固应该主要是防止重打包和逆向分析,简单的抓包,java层,so层的绕过反调试等操作,倒也不用花那么多时间特意去脱壳
跳转到frida的学习以下有关1的信息暂仅记录开始状态
学习文章:
实用FRIDA进阶:内存漫游、hook anywhere、抓包-安全KER - 安全资讯平台
Android脱壳之整体脱壳原理与实践这里所说的壳都是指dex加壳,不涉及到so的加壳。 涉及到的代码分析基于AOSP - 掘金
地狱笑话:IDA 是尸检||Frida 是活体解剖
Frida 动态 dump dex
1 | #应对的壳如下: |
Hook dex 加载函数,把内存里的 dex dump 出来
待续
内存加载壳
特征:
1 | /data/app/ 下找不到 dex |
待续
Application 切换壳
待记录
备注
去壳后需要
重打包 APK、 校验 dex 完整性、再 Hook
2-oss存储桶
对象存储(OSS)攻防案例 - FreeBuf网络安全行业门户
①-Object 遍历②-Bucket 桶爆破③-特定的 Bucket 策略配置④任意文件上传与覆盖⑤Bucket 接管⑥Bucket 可修改
AccessKey/SecretKey (AK/SK)泄露
前端js泄露,或者后端接口env,onfig.ini等配置文件未授权访问
该re取自记一次AccessKey值泄露的挖掘和分析 - FreeBuf网络安全行业门户
1 | (?i)((access_key|access_token|admin_pass|admin_user|algolia_admin_key|algolia_api_key|alias_pass|alicloud_access_key|amazon_secret_access_key|amazonaws|ansible_vault_password|aos_key|api_key|api_key_secret|api_key_sid|api_secret|api.googlemaps AIza|apidocs|apikey|apiSecret|app_debug|app_id|app_key|app_log_level|app_secret|appkey|appkeysecret|application_key|appsecret|appspot|auth_token|authorizationToken|authsecret|aws_access|aws_access_key_id|aws_bucket|aws_key|aws_secret|aws_secret_key|aws_token|AWSSecretKey|b2_app_key|bashrc password|bintray_apikey|bintray_gpg_password|bintray_key|bintraykey|bluemix_api_key|bluemix_pass|browserstack_access_key|bucket_password|bucketeer_aws_access_key_id|bucketeer_aws_secret_access_key|built_branch_deploy_key|bx_password|cache_driver|cache_s3_secret_key|cattle_access_key|cattle_secret_key|certificate_password|ci_deploy_password|client_secret|client_zpk_secret_key|clojars_password|cloud_api_key|cloud_watch_aws_access_key|cloudant_password|cloudflare_api_key|cloudflare_auth_key|cloudinary_api_secret|cloudinary_name|codecov_token|config|conn.login|connectionstring|consumer_key|consumer_secret|credentials|cypress_record_key|database_password|database_schema_test|datadog_api_key|datadog_app_key|db_password|db_server|db_username|dbpasswd|dbpassword|dbuser|deploy_password|digitalocean_ssh_key_body|digitalocean_ssh_key_ids|docker_hub_password|docker_key|docker_pass|docker_passwd|docker_password|dockerhub_password|dockerhubpassword|dot-files|dotfiles|droplet_travis_password|dynamoaccesskeyid|dynamosecretaccesskey|elastica_host|elastica_port|elasticsearch_password|encryption_key|encryption_password|env.heroku_api_key|env.sonatype_password|eureka.awssecretkey)[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z\-_=]{8,64})['\"] |
访问失败回显特定值
回显 AccessDenied
(403 Forbidden)– 名称有效
尝试使用aliyun的cli获取policy —特定的Bucket策略配置(例如:ua=xxx可以访问)
回显 NoSuchBucket
–(404 Not Found)
** InvalidBucketName**:表示存储桶的名称不符合规范,属于无效的存储桶名称。
**NoSuchBucket**:表示没有这个存储桶。
–存储桶接管 (Bucket Takeover),注册同名 Bucket,从而向原应用注入恶意文件
–Bucket 名称爆破 如果没有禁用“公共读”权限,猜中文件名,就能直接下载文件
回显 ListBucket 结果
(200 OK)--无参数认证则为未授权读
回显 access denied by bucket policy
—-Bucket 策略配置可写 (PUT方法上传)
工具
ossutil 等官方工具
待续
3-SpringBlade微服务框架
学习文章:
浅识springblade框架漏洞 - FreeBuf网络安全行业门户
fofa指纹:icon_hash="1047841028"(长得像MC的mod铁剑)
OWTOP漏洞,值得注意的是:默认jwt密钥
4-反序列化框架的学习
学习文章:
常见的Web漏洞——反序列化漏洞 - FreeBuf网络安全行业门户
【2025】最新反序列化漏洞汇总,从零基础到精通,收藏这篇就够了!_反序列化漏洞有哪些-CSDN博客
常见反序列化框架
PHP反序列化漏洞
PHP中通常使用serialize函数进行序列化,使用unserialize函数进行反序列化
Java反序列化漏洞
Java中通常使用Java.io.ObjectOutputStream类中的writeObject方法进行序列化,Java反序列化漏洞从入门到深入-先知社区
ASP.NET反序列化
.NET框架包含多个序列化类,BinaryFormatter,JavaScriptSerializer,XmlSerializer,DataContractSerializer
Python反序列化
Python提供的pickle模块可以序列化对象,反序列化漏洞出现在 __reduce__()魔法函数上
Node.js 反序列化
node-serialize 在反序列化时使用了 eval(),直接执行传入的数据
5-双向认证
[原创] Frida解决证书绑定问题-Android安全-看雪安全社区|专业技术交流与安全研究论坛
**网.apk就是标准的双向认证,即便是做了uat认证,电脑也无法访问,只有流量走一遍app才能访问对应的网址接口
yakit可以做国密网址的测试,双向认证的话要找到对应的客户端证书
工具
gmssl、gmcurl、yakit、r0capture、python
r0capture导出的客户端证书默认路径在/sdcard/Download/xx.p12, 密码默认是r0ysue
常见命令
1 | openssl pkcs12 -in test.p12 -clcerts -nokeys -out 1.crt -legacy |
其他;
可以多去面试看看在别人眼里的自己
但无论如何,那仅仅是别人眼中的自己