java反序列化漏洞原理分析
0x00 反序列化原理1.从java序列化机制谈起 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是Java虚拟机(JVM)独立的,也就是说,在一个平台上序列化的对象可以在另一个完全不同的平台上反序列化该对象。类ObjectInputStream 和ObjectOutputStream是高层次的数据流,它们包含序列化和反序列化对象的方法。 java序列化是将我们的java对象封装成静态二进制格式,这样就适合存储在磁盘上或 ...
阅读更多
java反序列化漏洞URLClassLoader利用
0x00 回显思路和原理这里使用JBoss漏洞实现回显进行说明。 使用java.net.URLClassLoader类,远程加载自定义类(放在自己服务器上的class文件),可以自定义方法执行。 在自定义类中,抛出异常,使其成功随着Jboss报错返回命令执行结果。 0x01 payload写法 构造URLClassLoader执行链12345678910111213141516171819202122232425262728Transformer[] transformers = new Transformer[] { new ConstantTransformer(java.net.URLClassLoader.class), new Invo ...
阅读更多
Joomla远程代码执行漏洞利用分析
0x00 漏洞简介 影响版本:from Joomla 1.5 up until 3.4.5 漏洞类型:php 反序列化造成的对象注入 漏洞触发:将session插入数据库中,发送同样的数据包来取出session,触发漏洞,执行任意代码 0x01 利用分析在看完这两篇漏洞分析文章后,对里面分析利用进行了下总结。乌云的分析: http://drops.wooyun.org/papers/11330百度安全团队的分析: http://xteam.baidu.com/?p=379 细致看底层原理可以看看百度安全团队的分析。想了解攻击步骤,请看乌云的分析。乌云上提到的生成payload代码只是一部分,我改了改,可以用以下代码生成第一步攻击payload: 1234567891011121314151 ...
阅读更多
阿里云使用Docker安装kali
0x00 安装使用DaoCloud快速安装docker 1curl -sSL https://get.daocloud.io/docker | sh 加速下载docker官方镜像 安装kali 12sudo docker pull kalilinux/kali-linux-docker:latestapt-get install metasploit-framework 0x01 配置参考postgresql使用: 123456789101112创建msf5用户:adduser msf5su - postgrespsql\duCREATE USER msf5 WITH PASSWORD 'msf5';ALTER USER msf5 CREATEDB|Superuser; 然后修改datab ...
阅读更多
第六届极客大挑战writeup
web5001柠檬牛接了个项目,听说他十分钟就搞定了。你可以吗? http://hackme.sycsec.com 访问http://hackme.sycsec.com,可以发现有discuz 7.2 漏洞,可以在faq.php进行sql注入。 http://www.waitalone.cn/discuz72-faq-exp.html 有个faq.php注入工具 首先注入得到WordPress数据库: 1234http://hackme.sycsec.com/faq.phpPOSTaction=grouppermission&gids[99]='&gids[100][0]=) and (select 1 from (select count(*),concat((select ...
阅读更多
android ndk开发(2)——基础编程
0x00 基础知识 jni 是java native interface,java调用底层C代码所用到的技术 ndk 是Android方便jni编程所提供的工具集合 在windows 环境下,需要安装cygwin工具,方便对c代码进行编译 配置ndk运行环境打开cygwin64\etc\profile文件,编辑其中的环境变量,添加ndk位置变量: 12345if [ ${CYGWIN_NOWINPATH-addwinpath} = "addwinpath" ] ; then PATH="/usr/local/bin:/cygdrive/h/software/android_ndk_develop/windows/android-ndk-r10e:/usr/bi ...
阅读更多
android ndk 开发(1)——环境搭建
0x00 安装包下载由于android资源需要翻墙,可使用下面的链接使用迅雷下载。 1234567891011android studio: http://58.96.188.26/android-studio-bundle-141.2178183-windows.exe?fid=U0lm0lgLNyqYEeVwBrkWCpyrqs*4*sRDAAAAAG*EPgpmhtk-umjFIV7Uo5SrvhvO&mid=666&threshold=150&tid=9CB76FD18702C8DC4DBA664A3CD3EA9F&srcid=119&verno=1 https://dl.google.com/dl/android/studio/i ...
阅读更多
git 初始化操作
1.生成ssh key2.登录github 添加生成的ssh key3.git clone 时,使用ssh的git URL ,以后可不用输入密码。具体步骤链接:http://blog.csdn.net/chenguolinblog/article/details/19929509 官方步骤说明: We recommend every repository include a README, LICENSE, and .gitignore. …or create a new repository on the command line echo # ndk >> README.md git init git add README.md git commit -m “first co ...
阅读更多
linux自定义安装QT
安装步骤123./configure -prefix 自定义路径 #生成编译配置文件 make #编译源代码的lib等 make install #完成安装到指定路径 qt安装包下载:http://download.qt.io/archive/qt/安装步骤:http://doc.qt.io/qt-5/linux.html使用文档:http://www.qt.io/developers/ 问题解决在make编译过程中,会出现许多编译问题。在参考编译出错报告后,进行搜索解决。现记录如下。 问题1123In file included from kernel/qtaddons_x11.cpp:2 ...
阅读更多
Zend Studio单步调试
0x00 配置步骤1.需求用过VS 调试C++程序,Eclipse 调试java程序。而php语言作为“世界上最好的语言”。岂能没有调试功能?对于开发和分析php代码,有动态断点调试可以大大加快我们开发的进度。 2.环境 wamp (php5.3.10 Apache2.2.21 mysql5.5.20) zend studio 10.1 php_xdebug-2.1.2-5.3-vc9(wamp 自带) 3.配置单步调试php需要xdebug支持,而wamp默认情况下是没打开远程调试的。所以需要按照下面简单配置下。 注意:wamp存在两处php.ini,两个地方都配置一下。 1D:\wamp\bin\apache\Apache2.2.21\bin和D:\wamp\bin\php\php5. ...
阅读更多