反序列化漏洞
反序列化漏洞这玩意在实战里面还是比较难触发的,黑盒测试似乎不太可能,ctf中倒是遇到比较多,实战中比较出名的有weblogic的反序列化漏洞
PHP反序列化原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行、SQL注入、目录遍历等不可控后果。在反序列化的过程中自动触发了某些魔术方法。当进行反序列化的时候就有可能会触发对象中的一些魔术方法
serialize() //将对象转化为字符串,运行的时候会调用_sleep()函数
unserialize() //将字符串转化为对象,运行的时候会调用_wakeup()函数
O:3:”abc”:2:{s:4:”name”;i:2:”19”;}
当出现的是有类的序列化的时候,还要注意以下这些函数
_construct() //构造函数
_destruct() //析构函数
_call() //在对象上下文中调用不可访问的方法时触发
_callStatic() //在静态上下问中调用不可访问的方法时触发
_get() / ...
任意文件包含
文件包含文件包含不是一种漏洞,是一种功能,往往是程序员为了减少代码冗余而存在的文件包含功能,比如权限的检测功能,没必要在每个功能都写对应的代码,只需要包含有检测功能的文件就可以了
包含函数
include() 遇到要包含的文件临时去加载去引用,加载错误报错后继续执行
require() 在当前的php运行前就先去读取要包含的文件,一起执行,加载错误后报错不继续执行后面的代码
include_once() 只包含一次
require_once() 只包含一次
任意文件包含漏洞的特点文件包含函数只看对应的文件有没有包含到,不在乎文件的后缀是什么,都会把文件内的内容当作php代码运行,因此可以配合文件上传一个正常的后缀,里面有恶意代码进行执行,利用的重点在于控制目标去包含恶意文件
RFI/LFI=> 远程文件包含 本地文件包含
本地文件包含:要包含的文件必须在目标主机上
远程文件包含:要包含的文件可以在外部(修改配置文件allow_url_include=on)
漏洞利用若是白盒审计,看源代码的时候搜inlude或者require 寻找有没有
include 加上变量名
...
命令执行漏洞
命令执行漏洞命令执行漏洞是指用户能够控制函数输入,存在可以执行代码的危险函数
一般都是因为程序员调用了几个可以执行系统命令的函数,具体利用方法和sql注入有点像
危险函数
system() 成功则返回命令输出的最后一行,失败则返回false
exec() 命令执行结果的最后一行内容
shell_exec() 命令执行的输出,如果执行过程中发生错误或者过程不产生输出,则返回NULL
passthru() 执行外部程序并且显示原始输出
eval() 将输入的字符串参数当作PHP代码来执行
assert() 将输入字符串参数当作php代码来执行
eval():该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。(在生产中也建议少用)注意:1.eval()里必须是字符串;
2.eval()里的引号必须是双引号,因为单引号不能解析字符串里的变量$str;
eval定义和用法:(1)eval() 函数把字符串按照 PHP 代码来计算(计算=执行)。(2)该字符串必须是合法的 PHP 代码,且必须以分号结尾。(3)如果没有在代码字符串中调 ...
信息收集
信息收集签到手Kenoe发现自己很久没有更新博客,于是今天写一下信息收集的思路
信息收集的意义信息收集是渗透测试的起点,一个良好的信息收集才能保证在攻击的时候找到更多的攻击面,信息收集有各种各样的思路,俺没事的时候就看大佬们挖src的文章,发现了不少骚思路
搜索引擎
Google hack语法
这个相信每个学渗透测试的最开始都会学的东西,这里就简单记录一些语法
123456789intitle:xxx //搜索标题中含有xxx关键词的网页intext:xxx //搜索正文中含有xxx内容的网页 inurl:xxx //搜索url中包含有xxx内容的网页比如挖sql注入的时候会用 inurl:php?id=(不过现在应该挖不到这种了吧) site:xxx.com //搜索xxx.com的内容filetype:file //搜索指定类型的文件 比如之前看师傅挖edu src的时候就喜欢用 filetype:xls intext:学号
fofa、Zoomeye、Shodan
这些网站的使用方法都差不多,并且比hack语法更加高效,因为这些网站每天都在爬网页,在 ...
sql注入
SQL注入Access注入- 偏移注入由于Access独特结构,偏移注入是其独有的注入方法
偏移注入特点
必须是Access数据库
注入点所用的表列数要大于我们要查询的表
即使不知道列名也能获取到数据
偏移注入流程先爆表名
id=1 and exists(select * from table_name)
用bp的爆破模块就行了爆字段数
id=1 union select 1,2,3…..from table_name
直到页面正常为止例如我们知道了注入点的字段数量是40,我们要查询的表名为admin,这个时候我们要想办法知道admin表的字段数量
id=1 union select 1,2,3….39,admin.* from adminid=1 union select 1,2,3….38,admin.* from admin
知道页面正常,比如这里我们一直到
id=1 union select 1,2,3…30,admin.* from admin
可以知道admin表的字段数是10个,这个时候我们这个就用看页面是否有显示数据,若没有,就移动admin.* ...
红明谷ctf复现
取证
题目描述:Akira在某次取证的过程中,在桌面找到了一个奇怪的文件,但是除此之外好像没有找到什么有价值的情报,很多的数据都被抹干净了,而且这个用户似乎根本就没装什么第三方的软件。Akira还粗心的只拷贝了C盘下的User目录,这下还有机会解开可疑文件吗?
给了一个User文件夹,桌面上有一个加密压缩包
打开log_data.txt看到
可知要查看用户键盘输入,这个属于输入法取证,可以直接用软件梭,这里参考文章
可以知道Win10系统自带中文输入法程序的用户词库文件主要存储在
C:\Users\Administrator\AppData\Roaming\Microsoft\InputMethod\Chs
其中ChsPinyinlH和ChsPinyinUDL这两个DAT文件,里面的信息会随着系统用户输入行为的发生
而不断变化,而且信息以Unicode明码的方式保存在数据区中,打开此目录的两个文件
发现
根据密码六位,猜测密码为有志者事竟成,得到hidden.pdf
全选复制得到flag
flag{y0u_F1nd_h1dd3n_m3g}
这里有点奇怪,我用wps复制 ...
BUUCTF misc刷题
[WUSTCTF2020]spaceclub一个txt文件,里面每一行是一个长空格或者短空格,猜测要换成1和0,在技术本里面ctrl+h,全部转换
然后转字符串得
得到flag
wctf2020{h3re_1s_y0ur_fl@g_s1x_s1x_s1x}
[ACTF新生赛2020]musicm4a文件,发现文件头都和A1进行了异或
在010里面可以进行异或
然后修复后打开听得到flag
flag{abcdfghijk}
123f=open('vip.m4a','rb').read()newf=open('flag.m4a','wb')for i in range
hashcat开局一个xml文件,把后缀改成ppt发现有密码,用Accent OFFICE Password Recovery
破解一波密码
得到密码
9901
然后发现一张图
发现后面还有很多空白页。直接改背景为黑色看看,果然
flag{okYOUWIN}
[*CTF2019]otaku这道题有点意思,解压 ...
One pieNG一张图片十八个flag复现
#St4rt_fr0m_th1s_5tr1ng#
文件名直接白给一个
#Th1s_i5_s0_34sy!!!#
打开又白给一个
#You_st3gs0lved_me!!!#
放到Stegslove又白给一个
#LSB_1s_v3ry_e4sy_righ7?#
lsb发现一个
#He110_I_4m_Tw0_PieNG#
foremost又白给一个
#A_k3y_1n_exif#
放到010里面又白给一个
#Pn9_He1gh7_6e_ch4ng3d#
改高度又发现一个
#Ju5t_a_1one1y_tEXt_chunk#
不愧是套娃题,优美的文件结构
#An0th3r_key_1n_3xif#
一段看起来像base编码的,根据前面的b58知道是base58编码
#HexEditor_wi11_b3_helpfu1#
放到kali里zsteg一把梭出来一个
#IDAT_i5_a_alib_p4cka9e#
发现有一个IDAT块不正常,数据太少
发现是这段十六进制,是zlib数据,这里用脚本跑一下
1234567import zlibimport binasciiIDAT=( ...
hgame2021 misc复现
week1Base全家福看题目名字就知道是base套娃,这里再总结一下base系列的特点
Base64:A-Z 、a-z、+、/ (由于特性末尾可能会有一个或者两个=)
Base58:相比Base64,不使用数字0,字母大写OI和小写l以及符号+/
Base32:A-Z、2-7、可以出现两个以上的=
Base16:0-9、A-F(和十六进制不是一样吗)
根据以上可得到flag
hgame{We1c0me_t0_HG4M3_2021}
不起眼压缩包的养成的方法图片注释里面有
Secret hidden IN picture
binwalk和foremost一把梭分离出一个压缩包,压缩包注释有
Password is picture ID(up to 8 digits)
这里我直接软件爆破得到压缩包密码70415155
根据官方wp似乎要去Pixiv搜图片可以得到ID
解压得到压缩包plain.zip和NO PASSWORD.txt
打开plain.zip发现里面也有一个NO PASSWORD.txt
看到plain可以知道是明文攻击,txt里面还有一个提示
By th ...