自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Venscor技术养成之路

Web & Android Security

  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 Redis未授权访问漏洞

自己学习简单记录下。1. 安装及介绍centos下安装及启动:#安装yum install redis#启动systemctl start redis.service2. 简单介绍查看开启的端口netstat -ano看到默认情况下,6379端口对所有外部IP开放。查看redis 配置文件whereis redis cat /etc/redis.conf实际默认配置如下:可以看到,现在的re

2018-04-11 22:45:36 391

原创 Android系统服务Fuzz测试

两年前写的东西,现在发一下。写了个最简单的fuzz脚本:基于adb的fuzzer,仅供学习,请勿作不良用途。一、背景知识二、Fuzz原理  Android为用户提供的很多功能是通过系统服务实现的。截至Android 6.0,系统服务数量已经达到60多个。系统服务的底层是system_server(以下简称ss),我们知道,Android存在watchdog程序,当系统服务长时间不响应时...

2018-04-10 16:25:05 4713 2

原创 Java 反序列化漏洞原理

最近做白盒审计,涉及到了java反序列化代码执行漏洞。由于接触web较晚,所以之前并未研究过此漏洞,这次出于工作需要,特意花了一点时间研究下。一、漏洞怎么生产的如果一个应用接受反序列化数据,并且没有对反序列化的对象做限制,就可能导致代码执行。(使用了有安全缺陷的Apache Commons Collections jar包) public static void main(String[] a

2017-10-27 21:09:00 2452

原创 Android 驱动程序Demo及流程

很久前就想了解驱动程序的想法,这里现做一个简单的开始,从demo做起,看到Android驱动程序的基本运行流程,这对漏洞分析、检测和挖掘都是必要的。同样,本篇基本也是自己学习过程的记录,无干货。本篇大多数内容来自Linux设备驱动之Ioctl控制。一、用户层不管是漏洞检测,还是poc中,我们见到最多的函数就是ioctl()函数,这个函数就是用户层调用内核程序的接口。/*fd:文件描述符cmd:控

2017-07-28 00:10:19 5433 2

原创 C/C++典型漏洞产生原理与Demo

本篇主要是自己学习笔记,快速读了下泉哥的《漏洞战争》的读书笔记。这里只涉及漏洞产生原理,即漏洞是怎么写出来。至于怎么分析0Day,怎么写代码执行的exp,后续将做深入研究。C/C++的代码执行漏洞,很多时候是劫持程序的控制流。具体来说:对于C程序,一般是控制函数的返回地址,让程序跳转到我们指定的地方执行。对于C++程序,除了覆盖函数返回地址外,还可以覆盖虚函数表,在调用虚函数的时候,程序将到指定内存

2017-07-26 21:25:29 6085

转载 使用CTS进行漏洞检测及原理浅析

转载自使用CTS进行漏洞检测及原理浅析CTS 全称 Compatibility Test Suite(兼容性测试),Google开发CTS框架的意义在于让各类Andr

2017-07-23 18:03:20 2112

原创 c++内存布局

在分析代码执行类漏洞时,需要搞定程序的控制流。我们知道,在C语言中,一般是通过覆盖函数返回地址,来劫持控制流实现跳转的。在C++中,除此之外,多个一个虚函数表的东西,通过覆盖对象的虚函数表也是可以劫持控制流的。作为基础积累,本篇简要概括下C++的内存布局,主要是自己学习总结,部分内容来自网上。 注:所有实验在Android平台实现。一、非继承情形1. 仅有非static成员和方法定义一个Perso

2017-07-22 21:11:19 339

原创 VTS漏洞检测框架浅析

一、框架1. 测试用例管理首先,VulnerabilityOrganizer类用于包含该所有的测试用例,使用VTS框架来进行漏洞检测时,所有的测试用例需要在这个类中注册。 public static List<VulnerabilityTest> getTests(Context ctx){ List<VulnerabilityTest> allTests = new Arra

2017-07-15 02:28:05 1219

原创 php运行模式

当年在提交某个漏洞的时候,某src看了漏洞说可能是cgi除了问题。当年也不搞web安全,如今接触web安全也有段时日,就看看CGI到底是个啥。 php有4种运行模式,分别是cgi、fast-cgi、cli和服务器模块模式。一、 CGI模式CGI(Common Gateway Interface)通用网关接口,在此模式下,CGI相当于前端网页和后端php脚本执行环境的桥梁。怎么理解这桥梁:我们拿We

2017-05-13 18:47:07 445

原创 sql 注入漏洞

sql注入相关知识

2017-04-21 01:45:13 870

原创 Android启动过程分析

本文主要简单总结下Android系统启动过程。

2017-02-21 23:23:58 1058

原创 CVE-2014-7911 Android 反序列化漏洞分析

网上对于此漏洞的分析已经很多了,由于这个漏洞设计了很多底层的知识,很值得学习。总算耐着性子把这个漏洞分析了一下,文章主要记录自己的分析过程。

2017-02-19 17:07:06 3481

原创 Android 安全测试思路总结(攻击面)

Android攻击面

2017-02-12 14:51:21 8705

原创 Webview File域同源策略绕过漏洞

一个比较老的漏洞,不能远程利用,只能通过Malicious App来攻击。一、漏洞原理1、漏洞原理  为了说明漏洞原理,这儿假设用户安装了两个App,第一个是攻击的App,即Benign App,另一个是Malicious App,也就是攻击者App。首先,由于Android沙箱机制的限制,Malicious App是不能访问Benign App的私有目录的。但是,如果Malicious App有了

2017-01-09 11:16:52 6285 3

原创 Android WebView漏洞总结

2015年就了解了这个漏洞,但只是简单的试了一下,时间一久就忘记了。导致16年无任何准备的条件下,给面试官讲这个漏洞都讲不清楚,丢人。最近学习了一下web安全相关的知识,就顺便在看了一下这个老的Webview漏洞。全程几乎没有什么干货,就当做个记录。一、几个老的CVE  CVE-2012-6336:WebView RCE漏洞原型,对于使用了Webview API:addJavaScriptInter

2017-01-08 17:00:45 2115

原创 Android上app_process启动java进程

Java程序是跨平台的,由JVM虚拟机执行字节码。Android应用程序开发也是Java,但是都是运行在Context环境下的。独立的Java程序能够在Android上独立运行?  这里不介绍Android启动过程中,app_process从哪个进程fork处理,也不介绍app_process启动App的过程。仅介绍app_process启动纯Java程序的相关知识。一、HelloWorld示例1.

2016-11-14 20:45:50 35387 20

原创 web安全——ClickJacking

本篇主要是对自己学习web安全的过程总结,多数是看书和查资料所得,包含一些自己看书时疑惑的记录与思考,无干货。多数来自《白帽子讲web安全》一书,对于里面的思考,博客中以红色字体标出。注:博客中一些示图源自《白帽子讲web安全》一书。一、ClickJacking含义与危害1. 概述  ClickJacking,即点击劫持。通过对用户在视觉上的欺骗完成攻击,主要有CSS控制攻击向量。通过把被攻击网站(

2016-11-05 12:48:25 934

原创 web安全基础——CSRF

主要是CSRF(Cross Site Request Forgery)的基础知识,作为对自己学习的总结。无实践,无干货。一、CSRF的概念1. 概念  CSRF是指跨站请求伪造。跨站:指的是存在一个受害者网站Alice:www.example.com,一个攻击者网站Mallory:www.mallory.com。在Alice网上有一个敏感操作,其全部参数可以被mallory知晓,不过这个操作需要用

2016-11-03 14:31:02 603

原创 Web安全学习篇——XSS基础知识

之前一直都是做的Android客户端安全,也发现了一些安全问题。但后来,渐渐觉得Android App层安全,尤其是偏上层的安全,往往利用条件比较鸡肋,即使是危害比较大的漏洞。所以从今天起,基本放弃App层上层漏洞挖掘工作,后面像两个方向发展,一是Android App的逆向和加固技术,二是web安全。先从web安全开始!本篇记录XSS基础知识学习过程。一、XSS分类XSS漏洞分成三类,反射型XSS

2016-10-28 15:02:39 2078

原创 Android权限机制验证性实验

在PackageInstaller源码分析(二) 中提到,Android在安装App的时候,会更新/data/system/packages.xml,/data/system/packages.list和/data/system/users/0/package-restrictions.xml这三个文件。并且,在packages.xml中记录有app申请的全新信息,在packages.list文件中

2016-10-03 17:54:12 1193

原创 PackageInstaller源码分析(二)

上篇PackageInstaller源码分析(一)对PackageInstaller源码分析了一半,本篇接着分析,分别分析对于App更新和新App安装的处理。一、新App的安装  新App的安装从installNewPackageLI()开始,我们查看其源码。private void installNewPackageLI(PackageParser.Package pkg, int

2016-09-26 21:02:19 2762

原创 Android App签名(证书)校验过程源码分析

Android App安装是需要证书支持的,我们在Eclipse或者Android Studio中开发App时,并没有注意关于证书的事,也能正确安装App。这是因为使用了默认的debug证书。在Android App升级的时候,证书发挥的作用就尤为明显了。只有证书相同时,才能对App进行升级。证书也是为了防止App伪造的,属于Android安全策略的一部分。

2016-09-24 18:55:57 8453 1

原创 PackageInstaller源码分析(一)

本篇博客分析PackageInstaller源码目的是分析Android权限机制,Android App的权限在应用被安装时,用户选择授予或者拒绝。所以,分析Android权限机制源码的第一步分析应用程序安装时的行为。   此次阅读源码旨在解决的问题:Android权限是一次性授予的,即用户在同意安装后,App就获得了申请的权限。那这个过程是怎样的,即:用户点击同意——>App获得权限,经理了怎样

2016-09-23 22:29:23 10260

原创 通过wifi连接adb调试

adb无线调试

2016-03-24 13:16:17 654

原创 关于Activity启动模式的理解

对Android Activity启动模式的理解!

2016-03-24 13:07:51 448

原创 交叉编译环境学习(编译Android上的可执行程序)

前几天帮忙师兄发现的Android上的一个驱动程序漏洞,奈何技术不够耐心不足,没有找到漏洞的根源。由于程序要由c程序来触发,而c程序是在pc上的开发的,要在Android设备上运行,这就涉及到交叉编译问题。一开始找了好久,想找一个交叉编译工具,想来也是SB,Android不是为我们提供了NDK开发环境么,而且我还学了一段时间,可惜后面没有用,也没有总结,就忘记了。其实,NDK除了为了Native层

2015-12-04 18:24:08 14357 1

原创 缓冲区溢出攻击实验(三)

在缓冲区溢出攻击实验(一)(二)分别介绍了先关知识和shellcode机器码的获得,这一篇就阐述怎么利用别人程序中的缓冲区溢出漏洞实施攻击;三、缓冲区溢出漏洞攻击1.一个存在缓冲区溢出漏洞的demo        下面的一个demo程序使用了strcpy()函数,而这个函数不是安全的,其并不对参数数组的越界进行检查;而且程序接受用户输入,这就成了经典的受攻击案例(velnerable.

2015-11-19 16:30:57 3872 2

原创 缓冲区溢出攻击实验(二)

上面缓冲区溢出攻击实验(一)中,主要阐述了怎么获得函数的返回地址,以及怎么修改返回地址。接下来阐述,获得了返回地址要做啥,也就是我们的获得shell的恶意程序;二、获取shell恶意程序        由于我们最终是要通过向数组里面写超过范围的数据造成缓冲区溢出来,从而执行任意代码;而且我们的获得shell的程序会作为数据的一部分;至于为什么要作为程序的一部分,这里简单说明:一个程序只能访

2015-11-19 01:35:23 2705

原创 缓冲区溢出攻击实验(一)

本周心情异常不好。无聊之余,想弄一下缓冲区溢出实验,之前一直听说这个,也没有亲自动手做一下,发现真正弄起来的时候还是没那么简单的,其实学到的东西还是不少的。特此记下学习的过程。一、基础知识这一部分主要是关于程序内存布局相关的知识,也涉及少量at&t汇编、gdb调试、gcc编译的知识。再次说明本人非科班出生,所以在有些问题上要比科班出身的要纠结得多,但职业生涯还长,只要

2015-11-18 20:43:27 19270 5

原创 Linux(Ubuntu)下软件安装问题

就成了永久的痛;作为一个大学4年基本没有编过程序的人,研究生要做的竟是网络安全的工作,知名黑客的技术功底都是极好的,为此,我也感到异常恼火,可是路漫漫,总的一步一步走下去,现在也许我的博客质量很差技术很差,相信只要不断学习,不放弃,至少要成为一个合格的白帽子吧;言归正传,最近打算编译以下Android5.1的源码,按照前人指的路,先搭建编译依赖环境.具体来说就是先要安装以下的依赖库:git-c

2015-10-22 01:37:39 611

原创 Android Binder机制实现进程间数据交换(不使用aidl实现)

一、Binder机制(从framework层分析,Java层面分析)在Android中,Binder用于完成进程间通信(IPC),即把多个进程关联在一起。比如,普通应用程序可以调用音乐播放服务提供的播放、暂停、停止等功能。 Binder工作在Linux层面,属于一个驱动,只是这个驱动不需要硬件,或者说其操作的硬件是基于一小段内存。从线程的角度来讲,Binder驱动代码运行在内核态,客户端程

2015-07-11 20:32:16 1617

原创 Android NDK环境搭建和示例Demo(Windows环境下)

一、NDK环境搭建本文假定JDK、SDK,Eclipse等基本工具环境已经搭建完成,下面仅仅是NDK和Cygwin的搭建过程:1、下载NDK:下载地址:http://developer.android.com/tools/sdk/ndk/index.html下载后直接解压即可;2、下载并安装Cygwin,下载地址http://cygwin.com/install.html

2015-05-23 21:06:02 709

原创 Java JNI的使用

JNI(JAVA Native Interface使用)

2015-05-19 19:15:19 632

webview Poc及检测

博客http://blog.csdn.net/u010651541/article/details/53198793对应的代码

2017-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除