企业环境渗透2
任务一 weblogic反序列化浏览器访问192.168.2.10:7001 然后就404
使用工具包中的webloigc利用工具
看到flag了是不是,然后执行 cat /home/flag 是吧233333
其实,这个flag不过就是个目录。。
得到flag
任务二 Wrodpress 任意文件读取wpscan常规扫描一下
存在一个任意文件读取漏洞
任务三 Wordpress命令执行
利用 Burpsuite的 repeater模块修改包探测漏洞存在的字段
执行wordpress mailer 命令执行漏洞的利用脚本尝试获取shell
执行 wordpress-rce-exploit.sh 获取到flag
任务四 改进漏洞利用脚本获得命令执行权限
通过分析sendmail中的语法改进作者的漏洞利用脚本,缩短host字段的长度绕过限制
利用改进后的漏洞利用脚本来获取shell
修改脚本:
执行脚本
打开另一个shell 进行监听
成功获得反弹的shell
使用 python 开启一个服务器
上传 tunnel.nosocker.php
成功上传
开启代 ...
命令执行绕过技巧
tar命令绕过最近也是才知道的姿势,很多CTF题目并没有过滤tar命令,可以直接打包然后下载,GXYCTF的一道题就可以这样非预期
?ip=1;tar$IFS$9-cvf$IFS$9index$IFS$9.
Windows命令执行<?php$a = "../ %1a whoami";$command = 'dir '.urldecode($a);$escaped_command = escapeshellcmd($command);var_dump($escaped_command);file_put_contents('out.bat',$escaped_command);system('out.bat');?>
命令分隔符|||&&;
空格绕过~ ᐅ cat<>flag flag{fffffffffff}~ ᐅ cat<flag flag{fffffffffff}
${IFS}
这算是Linux中的一个变量
Linux下有一个特殊的环境变量叫做IFS,叫 ...
sqli-lab记录
第一关 GET Error based- Single quotespayload
http://localhost/Less-1/?id=1' order by 3 -- +
(火狐不知道为什么感觉有bug)
在确定回显的时候,要注意去查一个不存在的数据
http://localhost/Less-1/?id=888' union select 1,2,3 --+
第二关 GET Error based-Intiger没有单引号保护
http://localhost/Less-2/?id=12312 union select 1,2,3 #
第三关加了括号保护
$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
http://localhost/Less-3/?id=22333' ) uni ...
XSS学习记录
XSS挑战(突然发现这个平台有bug,只需要在控制台alert(1)即可。。)
level1http://test.ctf8.com/level1.php?name=%3Cscript%3Ealert(1)%3C/script%3E
level2没有找到和</h2><script>alert(1)</script><h2>相关的结果.
但是
<h2 align=center>没有找到和<scRipt>alert(1)</script>相关的结果.</h2><center> <form action=level2.php method=GET> <input name=keyword value="<scRipt>alert(1)</script>"> &l ...
绕过CSP
基本概念
default-src
'self' cdn.example.com
定义资源默认加载策略
script-src
'self' js.example.com
定义 JS 加载策略
style-src
'self' css.example.com
定义 CSS 加载策略
img-src
'self' img.example.com
定义图片加载策略
connect-src
'self'
定义 Ajax、WebSocket 等加载策略
font-src
font.example.com
定义 Font 加载策略
object-src
'self'
定义 、、 等引用资源加载策略
media-src
media.example.com
定义
frame-src
'self'
定义 Frame 加载策略
sandbox
allow-forms allow-scripts
对页面的操作应用限制,包括阻止弹出窗口,阻止插件和脚本的执行以 ...
pickle反序列化
就分析几道例题吧
CISCN 2019 ikun这题开始脑洞比较大
然后观察URL
http://b8869902-7911-4d16-bb0c-fe61550e2cea.node3.buuoj.cn/shop?page=1
开始以为这里有注入,因为加一个单引号网站就崩了
但是不然。是需要找到 lv6
import requestsURL = "http://b8869902-7911-4d16-bb0c-fe61550e2cea.node3.buuoj.cn/shop?page="for i in range(2000): res = requests.get(URL+str(i)) if b"lv6.png" in res.content: print(i) break
注意 res.content 返回的是byte类型, res.text 会自动转码为字符串
得到的结果是181
当然按照管理你是买不起的
抓个包改一下折扣
进入后台
http://b8869902-791 ...
jwt学习笔记
基本概念JWT的全称是Json Web Token。它遵循JSON格式,将用户信息加密到token里,服务器不保存任何用户信息,只保存密钥信息,通过使用特定加密算法验证token,通过token验证用户身份。基于token的身份验证可以替代传统的cookie+session身份验证方法。
jwt由三个部分组成
header.payload.signature
首先看 header
alg 指定了token加密使用的算法(最常用的为HMAC和RSA算法
HMAC:对称
RSA:非对称
HASH: 压缩
MAC: 带密钥的hash
HMAC: MAC的一种
{ "alg" : "HS256", "typ" : "jwt"}
payload
相关的数据:
{ "user_role" : "finn", //当前登录用户 "iss": "adm ...
requests文档阅读笔记
如何发送post请求r = requests.post('http://httpbin.org/post', data = {'key':'value'})
其他的请求也类似
>>> r = requests.put('http://httpbin.org/put', data = {'key':'value'})>>> r = requests.delete('http://httpbin.org/delete')>>> r = requests.head('http://httpbin.org/get')>>> r = requests.options( ...