小程序代理及反编译
环境:
物理机:172.20.10.3
模拟器:172.20.10.4
模拟器设置代理
物理机即可接收到数据
移动端APP渗透通过Postern App 代理抓取流量
App拖到模拟器安装
windows提权分类
1.系统漏洞提权(Linux、Windows)内核提权
3.第三方软件/服务提权
2.数据库提权
4.系统配置错误提权
windows提权概述
提权,顾名思义就是提升权限,当我们getshell一个网站之后,大部分情况下我们的权限是非常低的,这时就需要利用提权,让原本的低权限(如只允许列目录)→高权限(拥有修改文件的能力)权限提升后,对接下来的渗透有很大帮助。
windows:
user-->System
user-->Administrator
windows Linux见: Linux centos7 java环境配置
JRE8安装目录为C:\Program Files\Java\jre1.8.0_221
打开环境变量的步骤:
点击开始,右键选中我的电脑,点击属性-->高级系统设置-->高级-->环境变量-->系统变量。
1、设置JAVA_HOME
JAVA_HOME:C:\Program Files\Java\jre1.8.0_221(JRE安装路径)
php 不死马权限维持、映像劫持技术、策 略组脚本维持、shift 后门、建立影子账 号、power shell 配置文件后门、Monitor 权限维持、利用安全描述符隐藏服务后门 进行权限维持、iis 后门、window 隐藏技 术、驱动级文件隐藏
shift后门(shift backdoor)
绕过安全控制措施获取对程序或系统访问权限的方法。后门是一个留在目标主机上的软件,它可以使攻击者随时与目标主机进行连接 大多数情况下,后门是一个运行在目标主机上的隐藏进程,可能允许一个普通的、未授权的用户控制计算机 所以攻击者经常使用后门来控制服务器。
靶场 VAuditDemo
安装漏洞
由此可发现,用户前端连接数据库的代码没有进行特殊字符过滤就传入文件操作。所以存在安装漏洞。
这条语句 dbname=ssss--- -";phpinfo();//
除了会出现在php页面,还会出现在SQL语句里,所以要在SQL语句里加SQL的注释,保证SQL语句正常执行,否则SQL执行时会因为 ";phpinfo();//
的存在而报错,要把这部分给注释。
Liux安装好系统后里面自带的软件或内核存在的漏洞,比较流行的有“脏牛提权”
Linux内核提权跟Windows一样,都要下载对应漏洞的脚本进行提权
步骤
1.基础信息收集
uname -a 打印所有可用的系统信息
uname -r 内核版本
uname -m 查看系统内核架构(64/32位)
cat /proc/version 内核信息
cat /etc/issue 发行版本信息
whoami 当前用户名
id 当前用户信息
2.查找相关版本的内核漏洞
ssh公钥免密后门
公钥私钥原理概述
公钥和私钥同时生成,公钥用于加密,私钥用于解密。公钥可以有很多人持有,但是私钥只能自己持有,在ssh服务中,将客户端生成的ssh公钥写到目标服务器的 ~/.ssh/authorized keys中,之后客户端利用私钥完成认证即可登录 该后门比较容易被发现(查看/root/.ssh/有几个公钥)。
★ ssh连接,对方开启ssh需要对方密码才可登录,但如果写入公钥,不用密码就可以登录。
目标:
1、熟悉整理命令执行漏洞各函数的使用方法和条件,总结命令执行漏洞的利用方法。
2、熟悉PHP反序列化漏洞魔法函数的触发过程,了解pop链的拓展内容后,完成ctf.php
身份认证安全
绕过方法
- 暴力破解
- 撞库
- cookie伪造、session
修复方法
- 增加验证码
- 限制登录频率
- 二次验证
- 使用session会话认证避免cookie仿冒。
- 每次登录重新生成swssion
- session闲置超时退出。
任意密码找回
密码找回的方法
-
用户凭证暴力破解
- 原理:凭证只有验证码且时间次数限制条件弱
- 方法:抓包-爆破
-
返回凭证
- 原理:校验凭证如验证码从的响应包url/请求体里由服务端返回到客户端
- 方法:抓包-检查-解码
-
邮箱弱token
- 原理:邮箱里修改密码的链接容易被伪造如(?id=MD5(uid+时间戳))
- 方法:一个已知账号和一个未知账号同时点击找回密码爆破构造出找回密码URL
-
用户凭证有效性
- 原理1:修改他人密码时抓包将他人手机号替换为自己手机号获取验证码
- 原理2:修改自己密码时通过了用户校验输入新密码提交后抓包将用户id改为他人的
- 原理3:访问自己的重置密码邮箱链接输入新密码提交后抓包将用户id改为他人
-
重新绑定手机和邮箱
- 原理:给已知账号绑定手机,抓包将用户id改为他人,实现自己手机绑定他人id,并通过手机号改密。
-
服务器验证
- 原理1:使用邮箱找回密码,通过链接至修改密码页面,修改密码提交抓包修改为他人id。
- 原理2:密保问题和新密码在同一个界面,抓包删除密保问题提交。
-
跳过验证
- 原理:修改密码页面抓包,修改USERNAMECOOKIE为其他用户,修改密码后提交。
- 原理2:修改step步骤参数,直接跳到修改密码,抓包修改cookie/uid,修改密码后提交。
-
本地验证
- 原理1:在本地验证服务器的返回信息,确定是否执行密码重置,其返回信息是可控/可获得的内容。
- 原理2:发生短信等验证信息的动作在本地执行,可以通过修改request包进行控制
-
Token生成可控
- 原理1:修改密码时抓发送验证码的包,将接收验证码的邮箱改为自己的。邮箱点击链接修改密码。
- 原理2:提交验证码时抓包,修改UID,此时用户返回他人token,用已知账号抓改密包,替换其中的token发送。
-
注册覆盖
- 原理:注册相同用户名,数据库原账号内容被覆盖,相当于改密。未做用户名已存在校验。
-
Session覆盖
- 原理:同一浏览器,输入自己的账户进行邮箱密码找回,进入邮箱查看链接,接着输入他人账户,进行密码找回,返回刚刚自己的邮箱点击链接,由于session覆盖导致了,这个链接成为了修改他人密码的链接,成功修改他人密码