1、渗透测试是通过恶意黑客的攻击手段和方法,来评估网络系统安全性的一种方法,漏洞评估偏重于检查系统和服务时都存在安全问题,渗透测试主要执行漏洞来验证系统确实存在漏洞
传统的渗透测试方法对工业控制系统基础设施会造成严重的影响,应当注意使用适当的方法。
工控设备检测:主要包括工控设备资产收集 工控设备漏洞挖掘 漏洞分析验证 健壮性测试 以及多层次多维多的安全检测等
工控系统ICS是几种类型控制系统的总称,包括监控和数据采集系统SCADA 分布式控制系统DCS和其他控制系统以及生产应用服务等,工控设备检测服务主要是对系统的核心控制元件和网络组建进行检查
2、SCADA系统:
高分布式系统,数据采集和控制系统,给谁配水工程 电力系统 石油系统等电网系统。
SCADA风险分析: 大量的可编程控制系统 PLC 可编程逻辑控制器,RTU(远程测控终端)和IED(智能电子设备)存在漏记炸弹或者其他楼栋 部分采用国外设备操作系统、控制组件 等未实现自主控制,可能存在安全漏洞被恶意控制 终端服务数据被盗的危险。
3、常见的工业控制系统的漏洞:
SQL注入漏洞 弱口令漏洞 系统服务运维配置不当
4、Java反序列化漏洞
将应用数据转换为其他格式的过程称为序列化,而将读取序列化数据的过程称为反序列化
5、工控安全风险评估
安全软件选择与管理防护验证: 检查核心设备是否采用过离线环境验证测试的防病毒软件,
6、常见协议Modbus
Modbus 协议定义了一个与基础通信层无关的简单协议数据单元(PDU)特定总线或网络上Modbus协议映射能够在应用数据单元(ADU)上引入洗衣附加符
7、cookie
HTTP_referer 是head的一部分,当浏览器啊发送请求一般会带上refer告诉服务器是从哪个页面链接过来的,服务器据此可以获得一些信息
Http_User-Agent 用来检测浏览器的使用操作系统版本号用户个人偏好等
remote_addr 对应cookie 用户的IP地址
8、拿到一个站点首先做的事
whois 收集注册信息 网站IP地址 旁站 C 段网站 服务器系统版本 容器版本 程序版本 数据库类型 二级域名 防火墙 维护者信息 邮箱等
mysql 的网站注册如5.0一下的版本没有 Information_schema这个系统表 无法列表名等职能暴力跑表 ,5.0一下是多用户但操作 ,以上是单用户多操作。
手机目标站的注册邮箱,可以丢在社工库中参看有没有泄露密码,可以尝试使用的泄露密码登录后台 ,用邮箱作为关键词搜索网站 ,利用搜索的关联信息查找其他关联的信息 找到管理员设置密码的习惯利用字段生成字典 观察管理员 经常逛的网站 拿下他获得更多的资料
判断出目标网站的CMS可以查找网上暴露出的对应的漏洞,如果是开源的可以之间下载对应的源码进行审计
一个成熟并且相对安全的CMS 渗透的时候扫描目录应该注意敏感文件 二级扫描目录 站长误操作网站备份的压缩文件 说明的txt 二级目录可能存放在其他站点
常见的网站服务器 IIS Apache Tomact nginx Lighttpd
mysql注入点用工具对目标直接写入一句话,需要root权限和网站的绝对路径
目前已知版本的容器存在解析漏洞的 有:
IIS6.0 /xx.asp/xx.jpg " xx.asp”是文件名
IIS 7.0/7.5 默认的Fast-CGI 开启,直接在URL和面机上/1.php 会把正常图片当成php解析
Nginx 版本小于等于0.8.37 利用方法和IIS7.0/7.5 Fast-CGI 关闭情况不可用 空节代码 xxx.jpg%00.php
Apache 上传文件名 test.php.x1.x2.x3 Apache是从右面往左面判断后缀
手工快速判断大小写 Linux大小写敏感 但是Windows大小写不敏感
SQL数据库的站上只有80号端口开放 是更改了端口没有扫描出来或者3306端口不对外开放,做了跨站分离
3389么有开放: 端口被修改或者防护拦截 处于内网中需要端口转发
解决诸如自发被转义的方法: 使用宽字符或者 hex编码绕过
在看到内新闻便捷界面的时候应该查看该编辑的版本 再找对应的漏洞 查找公开的漏洞
拿到一个webshell 发下根目录下面有个 .htaccess 我可以插入 <FileMatch “xxx.jpg”>setHander application /x-https-php</Filesmatch> .jpg 文件会被解析成 .php 文件
安全狗会追踪变量,从而发现一句话木马 但是只要思路广 绕过绕的欢
.access 扫出后缀为asp的数据库 访问乱码 可以使用迅雷下载 直接将后缀名给成.mdb
提权的时候选择可读写的目录 不用空格 是因为exp执行多半需要空格界定参数
上传大马之后浏览器啊出现乱码可以更改浏览器的编码形式
审查上传点的元素的意义 有些站点的上传文件类型的限制是在前端的,只要增加上传类型就可以突破限制
如果目标网站禁止注册,登录的时候提示此用户不存在 可以先爆破用户名 再使用爆破的用户名来爆破密码,所有和数据库有交互的地方就有可能有注入
如果发现目标网站的某txt的下载地址为 http://www.kddf/down/down.php?file=/1.txt 可以在 file=后面输入index.php下载他的首页文件里面继续查找其他网站的配置文件 可以找出网站的数据库和地址
后台修改管理员的密码出,院密码显示为* 可以通过审查元素将密码出的password 属性改成 text就显示明文了
目标网站无防护,上传图片可以正常访问 上传脚本格式则访问403 的原因可能是web 服务器配置上吧上传目录不执行响应的脚本文件,尝试修改后缀之后绕过
审查元素得知网站所使用的防护软件 被拦截之后 页面不显示的时候 可以查看网页 按住 F12 查看 <hws><hws>中的内容
在SQL注入中URL编码的时候 +代表空格所以不写
获得一个注入点的时候 获取webshell 可以选择方法:
有写入权限的 构造联合查询语句使用using Into outfile 可以查询的输出重定向到系统文件中 这样写webshell
使用 sqlmap-os-shell 原理和上面原理相同 来获得一个shell 这样效率更高
通过构造联合查询语句得到网站管理员的账号和密码 然后登陆后台 再在后台通过改包等方法上传 Shell
CSRF和 XSS 以及XXE的区别:
XSS是跨站脚本攻击,用户提交的数据中可以构造代码执行,从而窃取用户的信息等攻击 修复的方式: 对字符转义 使用Httponly 来禁止javascript 读取cookie值,输入时校验浏览器与web 应该采用相同的字符编码
CSRF 是跨站请求伪造攻击 XSS是显示CSRF的诸多手段中的一种 是由于没有在关键操作执行是进行收用户资源发起的确认,修复方式: 筛选出需要防范的CSRF页面然后嵌入TOKEN 再次输出密码 检验 referer
XXE XML外部实体注入攻击 XML中可以通过实体请求本地或者远程 内容,和远程文件保护类似,会引发安全问题,铭敏感文件读取问题,例如名安娜文件读取 修复凡是 XML解析可在调用时严格精致对外部实体的解析。
CSRF是跨站请求伪造攻击,由客户端发起,,SSRF是服务器请求伪造 由服务器发起。重放攻击时将截获的数据包进行重放 达到身份认证等目的。
SSRF: 是服务器端请求,有服务端发起。
常见的 三种业务逻辑漏洞以及修复方式:
密码找回中存在密码允许暴力破解存在通用型找回凭证,可以跳过验证步骤,找回凭证可以拦截包获取
身份认证中最常见的是会话固定和cookie仿冒,只要得到Session和Cookie记忆可以伪造用户身份信息 。
验证漏洞中存在验证码允许暴力破解 验证码可以通过JavaScript或者改包方法进行绕过 。
9、一句话木马在注入中使用
常见的额一句话木马是 <%execute request("a")%> 但是 其中 %号就很难绕过
10、准备面试
给你一个网站如何渗透测试
信息收集,收集服务器相关的信息 IP地址 系统类型 版本 开放的端口 上面的服务 WAF 等 网站的指纹识别包括 CMS CDN 证书 DNS记录等
子域名的手机 旁站的收集 有授权的可以渗透