基本命令学习命令的基本使用格式
命令字 【选项】 【文件或者目录】
man 命令字
命令字的分类命令字分内部命令和外部命令
cd 内部命令
命令解释器(shell)
window – cmd – powershell
命令解释器中自带的命令叫内部命令
通过第三方软件安装后得到的命令叫外部命令 java
help 专门用来查看内部命令使用手册的命令字 他本身也是内部命令
1more less head tail grep awk sort uniq wc du find
more分页查看 空格翻页 q退出
less可以逐行查看 q退出
head文件 查看文件前10行
tail尾巴 看文件的后10行
跟踪自己的 触发登录 ssh root@127.0.0.1 提示yes 输入密码
tail -f /var/log/secure
如果退出 ctrl + c
找出谁链接我失败的ip
grep(行)grep -i 关键字 文件 —- 过滤出关键字所在的行并且 -i忽略大小写
grep “Accepted” /var/ ...
linux
未读认识系统开始[root@xiu ~]#
[当前登录用户@主机名 当前所在目录]
当前用户的身份
超级管理员 #
普通用户 $
清屏clear
ctrl+l
字符与图形切换ctrl+alt+f1
ctrl+alt+f2
与windows基础命令pkcd - change directory 切换目录
绝对路径 相对路径
dir - ls list 列出 列出当前目录下的内容
pwd - print working directory
列出当前工作目录
type - cat 查看文件内容
整个系统的起始目录名字叫做 /
目录结构/ — 根路径 整个系统的起始路径
/bin — 二进制 单词的缩写 普通用户和管理员都可以运行的命令
/sbin — 超级管理员可以执行的命令所在路径
/boot — 引导目录 进入系统之前 内核加载 启动菜单 独立分区
/dev — device设备 一切皆文件
/etc — 服务软件的配置文件存放目录
/home — 普通用户的家目录
/ ...
who 查看当前登录用户
入侵排查1、查询特权用户特权用户(uid 为0)
awk -F: ‘$3==0{print $1}’ /etc/passwd
2、查询可以远程登录的帐号信息
awk ‘/$1|$6/{print $1}’ /etc/shadow
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v “^#|^$” | grep “ALL=(ALL)”
4、 查看空口令账户
awk -F: ‘length($2)==0{print $1}’ /etc/shadow
5、 强制杀死进程
kill -9 PID
历史命令通过.bash_history查看帐号执行过的系统命令
1、root的历史命令
history
2、打开/home各帐号目录下的.bash_history,查看普通帐号的历史命令
端口netstat -a ...
JWT安全cookie(放在浏览器)cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。
cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的
session(放在服务器)session 从字面上讲,就是会话。这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。
session 也是类似的道理,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用 cookie 的方式。
服务器使用session把 ...
MySQLudf提权udf = ‘user defined function’,即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充
1、 如何获得udf文件
2、 将文件放到哪才能让mysql承认这个函数
3、 函数功能
4、 为什么这东西能提权(自定义函数指令是直接以管理员的权限运行的)
Sqlmapudf位置
/usr/share/sqlmap/data/udf/mysql/windows/64/lib_mysqludf_sys.dll_
暂时不能用,需要解码
cd /usr/share/sqlmap/extra/cloak
python3 cloak.py -d -i /usr/share/sqlmap/data/udf/mysql/windows/64/lib_mysqludf_sys.dll_
放到哪
123MySQL&l ...
web渗透
未读json完全独立于编程语言的文本格式来存储和表示数据,易于人阅读和编写。同时也易于机器解析和生成。任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。
fastjson(alibaba)Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
Fastjson 可以操作任何 Java 对象。
环境搭建docker换源
apt-get install docker
apt-get install docker-compose
reboot
service docker start
vulhubgit clone https://github.com/vulhub/vulhub.git
cd vulhub
cd fastjson
cd 1.2.24-rce
docker-compose up -d
8090端口
利用过程判断是否使用fastjson
首先将get方式修改为post
kali服务器主机搭建靶场:192.168.64.1 ...
shiro<=1.2.4
环境搭建centos安装docker
123456789101112131415161718192021222324252627282930换源wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo卸载原有dockeryum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 安装依赖 yum install -y yum-utils \ d ...
漏洞成因WEB应用程序过滤不严谨,导致用户可以通过请求将代码注入到WEB应用进行执行。
代码最终是在WEB服务器中进行执行的。
代码执行相关函数eval()eval() 会将字符串当作php 代码执行
12345678<?phpif(isset($_GET['code'])){$code=$_GET['code'];eval($code);}else{echo "Please submit code!<br />?code=phpinfo();";}?>
assert()1234567<?phpif(isset($_GET['code'])){$code=$_GET['code'];assert($code);}else{echo "Please submit code!<br />?code=phpinfo()";}?>
call_us ...
报错注入
在注入点的判断过程中,发现数据库中SQL 语句的报错信息,会显示在页面中,因此可以进行报错注入。
注意:错误信息来自于 数据库 、 中间件 还是 Web 容器 。
extractvalue()
and extractvalue(1,concat(0x5e,(select database()),0x5e)) –+
布尔盲注
利用页面的布尔类型状态来进行判断,⽬标获取数据库名字。
计算数据库名字的长度
?id=1’ and length(database())=8–+
123456?id=2' and ascii(substr(database(),1,1))=115 --+# 115# s?id=2' and ascii(substr(database(),2,1))=101 --+# 115 101# s e
延时注入
http://127.0.0.1/sqllib/Less-8/?id=1'and If(ascii(substr(database(),1,1))=115,sleep(5),1)–+
利用sle ...










