fastjson反序列化
fastjson介绍官方github地址:https://github.com/alibaba/fastjson
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
简单例子
用Json的toJSONString方法将pojo类转换成字符串
package org.clown.Test1;import com.alibaba.fastjson.*;import com.alibaba.fastjson.serializer.SerializerFeature;public class Student { private String name; private int age; public Student() { System.out.println("Student构造函数"); } public String getName() { re ...
flask内存马学习
拖了很久终于来看一下flask内存马这个东西了,主要是发现某新生赛week2就要打flask内存马,赶紧来学了😢
介绍内存马就是无文件webshell,这个不多说了,python的内存马就是在网站运行的时候动态注册一个路由用于任意命令执行。
python的内存马通常会配合ssti或者pickle反序列化等手段来使用,主要是为了解决不出网的情况。
低版本内存马先简单写一个ssti漏洞的flask服务
from flask import Flask,request,render_template_stringapp = Flask(__name__)@app.route('/')def home(): person="guest" if request.args.get('name'): person=request.args.get('name') template = '<h2>Hello %s!</h2>' % person ...
APP渗透抓包环境配置
模拟器代理设置这里用雷电模拟器
ipconfig查看一下本机的IP
然后在burp添加一个新的代理
然后模拟器也自定义该ip地址
证书安装这里如果要抓https还需要安装一下burp证书,参考文章:https://blog.gm7.org/%E4%B8%AA%E4%BA%BA%E7%9F%A5%E8%AF%86%E5%BA%93/04.%E7%A7%BB%E5%8A%A8%E5%AE%89%E5%85%A8/06.%E7%A7%BB%E5%8A%A8%E7%AB%AF%E5%90%84%E7%A7%8D%E6%96%B9%E5%BC%8F%E6%8A%93%E5%8C%85/
但是Android 从 7.0 开始,系统不再信任用户 CA 证书,安装证书的方式就麻烦一点
首先访问burp的监听地址下载证书
打开文件管理器可以看到证书
然后用kali里的工具openssl计算证书哈希值
openssl x509 -inform der -subject_hash_old -in cacert.der -noout
将证书名改为<hash>.0
mv cacer ...
NTFS数据流隐写
这是在前文学习mysql提权的时候遇到的利用数据流写文件,以前有点印象但不是很深,这里记录一下。
NTFS数据流介绍在NTFS文件系统中存在着NTFS备用数据流(Alternate Data Streams,简称ADS),这是NTFS磁盘格式的特性之一。每一个文件,都有着主文件流和非主文件流,主文件流能够直接看到;而非主文件流寄宿于主文件流中,无法直接读取,这个非主文件流就是NTFS备用数据流。
ADS的作用在于,它允许一个文件携带着附加的信息。例如,IE浏览器下载文件时,会向文件添加一个数据流,标记该文件来源于外部,即带有风险,那么,在用户打开文件时,就会弹出文件警告提示。再如,在网址收藏中,也会附加一个favicon数据流以存放网站图标。
ADS也被用于一些恶意文件隐藏自身,作为后门。
ADS应用这里写一个隐藏文本来看看,首先创建一个空的example.txt,然后写入ADS,这里写入一个字符串
echo "123" > example.txt:config #这里要用cmd,用powershell会报错
然后直接打开文件还是空的
想要查看ADS的话可 ...
玄机应急响应靶场-第三章
Linux权限维持靶机简介
ssh root@env.xj.edisec.net -p 密码 xjqxwcyc1.黑客隐藏的隐藏的文件 完整路径md52.黑客隐藏的文件反弹shell的ip+端口 {ip:port}3.黑客提权所用的命令 完整路径的md5 flag{md5} 4.黑客尝试注入恶意代码的工具完整路径md55.使用命令运行 ./x.xx 执行该文件 将查询的 Exec****** 值 作为flag提交 flag{/xxx/xxx/xxx}
这里看了一下web目录没什么东西,直接用D盾全盘查杀一下
这里挂载要指定端口,指定端口的形式是这样的:\sshfs.r\username@remote_ip!port\
emmm但是卡住了扫不出来东西
最后是在/tmp目录下发现了一个隐藏文件,里面有python脚本/tmp/.temp/libprocesshider/1.py
flag{109ccb5768c70638e24fb46ee7957e37}
其脚本内容 ...
mysql提权
参考文章:https://www.sqlsec.com/2020/11/mysql.html
权限获取要提权之前首先就要拿到mysql的权限,这里大佬的文章已经说的很详细了,我就记录一些写shell相关的知识
into outfile写shell
需要load_file () 开启 即 secure_file_priv 无限制
可以通过下面命令查看
show global variables like '%secure_file_priv%';
Value
说明
NULL
不允许导入或导出
/tmp
只允许在 /tmp 目录导入导出
空
不限制目录
在 MySQL 5.5 之前 secure_file_priv 默认是空,这个情况下可以向任意绝对路径写文件
在 MySQL 5.5 之后 secure_file_priv 默认是 NULL,这个情况下不可以写文件
日志写shell
可以下面命令查看日志位置
SHOW VARIABLES LIKE 'general%';+--------------- ...
玄机应急响应靶场-第二章
Apache日志分析靶场简介:
账号密码 root apacherizhissh root@IP1、提交当天访问次数最多的IP,即黑客IP:2、黑客使用的浏览器指纹是什么,提交指纹的md5:3、查看index.php页面被访问的次数,提交次数:4、查看黑客IP访问了多少次,提交次数:5、查看2023年8月03日8时这一个小时内有多少IP访问,提交次数:
apache的日志放在/var/log/apache目录下面
然后用下面指令筛选出访问的ip次数
cut -d- -f 1 access.log.1|uniq -c | sort -rn | head -20 #----------cut命令用于剪切并分割文件中的行。-d-指定分隔符为"-",即以连字符作为字段的分隔符。-f 1指定只提取每个字段的第一个部分,也就是行的第一个元素。sort命令用于对文本行进行排序。-r选项表示以逆序(从大到小)排序。-n选项表示按照数值大小进行排序。
flag{192.168.200.2}
浏览器指纹就过滤一下看看具体的信息
cat access ...
玄机应急响应靶场-第一章
Linux入侵排查这是靶机的简介
账号:root 密码:linuxruqinssh root@IP1.web目录存在木马,请找到木马的密码提交2.服务器疑似存在不死马,请找到不死马的密码提交3.不死马是通过哪个文件生成的,请提交文件名4.黑客留下了木马文件,请找出黑客的服务器ip提交5.黑客留下了木马文件,请找出黑客服务器开启的监端口提交
先简单了解一下不死马,参考文章:https://cloud.tencent.com/developer/article/1922141
https://blog.csdn.net/weixin_44411509/article/details/129267982
不死马的原理就是其进程不会消亡,在内存中不断创建木马文件,从而达到无法删除的目的。
下面是一个不死马例子:
<?php ?>';file_put_co ...
Linux提权-不安全配置项
不安全的用户组disk用户组
disk用户组是Linux中一个特殊的用户组,组内成员可以对一些块设备(比如硬盘、CD等)进行读写。如果属于disk用户组,就可以打开Linux的内置工具debugfs的交互式命令行,并可以挂载到文件系统来调试文件
先df命令查看文件系统磁盘信息
df
假设当前的目录分区为/dev/sda2,然后debugfs打开交互式命令行
debugfs /dev/sda2
这时就可以对文件系统进行调试
adm用户组
此组的成员通常拥有读取和写入系统日志文件、查看系统性能指标以及执行其他系统管理任务的权限。可以查看/var/log下的目录系统敏感日志
shadow用户组
/etc/shadow用于存储用户密码,除了root用户,还有shadow用户组成员也可以查看该文件。
lxd用户组
改组成员可以使用Linux容器(LXD)。
Linux容器是一种轻量级的虚拟化技术,能够在单个Linux系统上运行多个独立的Linux实例。
用户所属该组时,可以使用lxc命令创建新容器,然后将宿主机的文件系统挂载至容器中 ...
Linux提权-信息搜集
服务器信息枚举判断是否虚拟化
systemd-detect-virt #识别系统运行环境,看是否虚拟化
查找当前shell是否处于docker中
grep 'docker' /proc/1/cgroup
查看系统信息
uname -a #可以看到操作系统名称、版本、架构、主机名、内核版本信息等
查看内核版本信息
uname -r
查看系统架构信息
uname -m
查看发行版本信息
cat /etc/*-release
查看系统主机名信息
hostnameuname -n
用户信息枚举查看当前用户
whoami
查看当前用户详细信息
id #包含用户名、用户ID和用户所属组及组ID
查看所有用户信息
cat /etc/passwd
查看系统中所有用户组
cat /etc/group
查看id和对应组信息
for i in $(cut -d ":" -f1 /etc/passwd 2>/dev/null);do id $i;done
查看当前登陆到系统的用户信息
w #可以输出用户的登录名、所使用的终端、当前正在执行 ...