
代码审计
文章平均质量分 60
代码审计
qq_45449318
弃用csdn了。挺无语的这玩意。
展开
-
cc1-7分析-2
cc1-7分析-2原创 2023-01-04 15:56:37 · 380 阅读 · 0 评论 -
PHP绕过open_basedir
1. 命令执行函数open_basedir的设置对系统命令执行函数无效<?php$cmd="cat ../1.txt";file_get_contents($cmd);echo"file_get_contents finsh"."\n"."-----------------------"."\n";system($cmd);echo shell_exec($cmd);echo exec($cmd)."\n";passthru($cmd);$fp = popen($原创 2021-09-05 15:57:23 · 301 阅读 · 0 评论 -
梦想cms1.4审计
梦想cms1.4审计一个简单的mvc,直接去看配置文件和控制器,配置文件中无waf:先来后台的,后台的都比较容易sql注入1BookAction.class.php文件:有传参,跟进下getReply方法:进行了字符串拼接操作,并且返回调用了父类的selectModel方法,跟进下:又调用了父类的selectDB方法,跟进下:进行了sql查询并且我们可以控制 $sqlStr变量,打印下sql语句:闭合构造下payload:...原创 2021-07-22 11:19:31 · 589 阅读 · 0 评论 -
java类加载器机制——3.URLClassLoader
URLClassLoader继承了ClassLoader,URLClassLoader提供了加载远程资源的能力,在写漏洞利用的payload或者webshell的时候我们可以使用这个特性来加载远程的 jar 来实现远程的类方法调用。TestURLClassLoader.java 示例:import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.URL;import java.net.URLClass原创 2021-07-14 17:37:52 · 895 阅读 · 0 评论 -
java类加载器机制——2.自定义一个ClassLoader
ClassLoader一切的Java类都必须经过JVM加载后才能运行,而ClassLoader的主要作用就是Java类文件的加载。在JVM类加载器中最顶层的是Bootstrap ClassLoader(引导类加载器)、Extension ClassLoader(扩展类加载器)、App ClassLoader(系统类加载器),AppClassLoader是默认的类加载器,如果类加载时我们不指定类加载器的情况下,默认会使用AppClassLoader加载类,ClassLoader.getSystemClass转载 2021-07-14 17:37:18 · 367 阅读 · 0 评论 -
java类加载器机制——1.java的类加载及类加载器机制
(最开始在github上发布的,有的图片不知为啥在这打不开贴个gayhub原文地址:https://github.com/wa1ki0g/javasec)我们在学习java编程时,大概都知道java文件的执行顺序,即先编译成class文件即字节码文件,然后再移交给java虚拟机去进一步翻译执行这些文件。但是我们却不知道类加载过程的真正的细节。在jvm的启动是通过,引导类加载器(bootstrap class loade)创建加载一个初始类来完成的,jvm组成结构之一就是类装载器子系统,今天我们先从这个原创 2021-07-14 17:36:27 · 198 阅读 · 0 评论 -
java反射——3_反射java_lang_Runtime进行rce及一点补充
java.lang.Runtime因为有一个exec方法可以执行命令,所以在很多的payload中我们都可以看到反射调用Runtime类来执行本地系统命令,通过学习如何反射Runtime类也能让我们理解反射的一些基础用法以及一些攻击手法不使用反射执行本地命令代码片段:System.out.println(IOUtils.toString(Runtime.getRuntime().exec("whoami").getInputStream(),"UTF-8"));如上可以看到,我们可以使用一行代码完成转载 2021-07-14 17:33:35 · 1362 阅读 · 0 评论 -
java反射——2_java反射常用api
获取反射中的class对象在反射中要获取一个类或调用一个类的方法,我们首先要获取到该类的class对象在java API中,获取Class类对象有三种方法:第一种,使用Class.forName 静态方法。当你知道该类的全路径名时,你可以使用该方法获取Class类对象Class clz = Class.forName("java.lang.String");第二种,使用类的.class方法,这种方法只适合在编译前就知道操作的ClassClass clz = String.class;第三种转载 2021-07-14 17:32:53 · 186 阅读 · 0 评论 -
java反射——1_java的反射机制基础
J ava反射(Reflection)是Java非常重要的动态特性,通过使用反射我们不仅可以获取到任何类的成员方法(Methods)、成员变量(Fields)、构造方法(Constructors)等信息,还可以动态创建Java类实例、调用任意的类方法、修改任意的类成员变量值等。Java反射机制是Java语言的动态性的重要体现,也是Java的各种框架底层实现的灵魂。一般情况下我们使用某个类的时候,比如创建个对象或者直接引用等,都会必定知道他是什么类,是用来做什么的。于是我们可以直接对其进行实例转载 2021-07-14 17:31:39 · 116 阅读 · 0 评论 -
BlueCMS v1.6
BlueCMS v1.6审计大致看了下几乎都包含了common.inc.phpok,看一下这个全局配置文件:看下deep_addslashes函数就是简单重下了下addslashe函数,这里先看下Seay的自动审计结果,先不考虑利用有单双引号的SQL注入:先去ad_js.php看下:payload:view-source:http://127.0.0.1/bluecms_v1.6_sp1/uploads/ad_js.php?ad_id=1%20order%20by%207view原创 2021-07-12 15:12:59 · 1010 阅读 · 2 评论 -
idna与utf-8编码漏洞
idna与utf-8编码漏洞来自Black hat 2019原理什么是IDN?国际化域名(Internationalized Domain Name,IDN)又名特殊字符域名,是指部分或完全使用特殊文字或字母组成的互联网域名,包括中文、发育、阿拉伯语、希伯来语或拉丁字母等非英文字母,这些文字经过多字节万国码编码而成。在域名系统中,国际化域名使用punycode转写并以ASCII字符串存储。什么是idna?A library to support the Internationalised Dom转载 2021-01-21 13:34:26 · 792 阅读 · 0 评论 -
关于正则回溯绕waf
先放一段php代码:if(preg_match("hacker", $filename) == 1){ echo "hacker"; die();}原创 2021-06-11 19:51:41 · 282 阅读 · 1 评论 -
白盒测试1
方法:敏感函数回溯参数环境:php 5.多加apache及espcms 2014,用php7的exp无效,并且php7搭建这个cms数据库环境时都有很大毛病的工具:seay代码审计系统很久以前别人挖到的,站在巨人的肩膀上复现一下————————————————将文件拖进s~系统,审计出一大推可能是漏洞的代码列表挑了如图所示的一个,进行定位可以清楚看见sql语句和parentid变量的获得过程定位accept函数这是一个获取 给g p c的函数,我们传进的变量为parentid 和 R,代表原创 2020-07-16 22:56:56 · 1120 阅读 · 0 评论