1.明确目标 要清楚自己扫描的范围,不做超出自己许可之外的扫描,如果有的操作可能引起业务的中断,药剂师联系客户
2.分析风险,获得授权 在扫描开始前要撰写扫描许可书,经过客户方授予权利后才可以进行扫描
3.信息收集 搜集目标近可能多的信息,对网站的基本情况有一个了解,常用SpiderFoot等工具进行搜集
4.漏洞探测(手动&自动)运用各种漏扫工具可以实现对漏洞的探测,也可以从网上查看系统所对应的漏洞信息。
5.漏洞验证 模拟漏洞所产生的危害,看是否会影响到网站的正常运行,
6.信息分析 试着绕过各种防御机制,对各种常见漏洞进行测试
7.利用漏洞,获取数据 对漏洞危害造成的危害进行测试,攻击完毕清理相应的日志
8.信息整理 对攻击过程中的思路和代码进行整理
9.形成报告 整理好漏洞的危害和对应的处理方法
1反射型
利用方法:通过构造恶意链接,当用户点击链接,就触发了 xss。后果:用户的信息被窃取,模拟用户进行一些操作
2存储型,
利用方法:恶意脚本存储到客户端或者服务端的数据库中
后果:在用户完全不知情的情况下,窃取用户的敏感信息
3 DOM型
利用方法:文档对象模型,客户端脚本处理逻辑导致的安全问题
后果:客户端上的JavaScript脚本可以访问浏览器的DOM并修改页面的内容,不依赖服务器的数据,直接从浏览器端获取数据并执行。
所以利用的思路即是找一个带外数据通道来显未数据,通过参数实体引用,发送一个http请求到我们服务器,然后观察我们服务的日志:
首先在自己的服务器建一个DTD的数据格式文件。其内容为:
自己的服务器地址/id=%file;’>”>
%request;
POST数据增加:
Content-Type: text/xml
foo 此时会在部署好的服务器日志上生成一条请求记录
继续修改为
&foo;
Foo对应自己dtd文件中的foo
在自己的服务器日志上就可以看到访问对应位置文件的回显,band-xss利用成功。
1 对内网,外网的web应用进行攻击(get提交)
2 利用邮件系统的漏洞,接受邮件服务器的地址
3 利用file协议读取本地文件等
4 对内网,本地运行的程序进行溢出攻击等
5 对外网服务器所在内网,进行本地端口扫描,获取banner信息
6 测试运行在内网或本地的应用程序
天眼发现webshell上传,怎么排查?有哪些可能?后续需要什么操作?7 ssrf常见的绕过方式
IP地址转换进制 添加端口 利用短地址进行302跳转(如192.168.1.1.xip.ip会自动重定向到192.168.1.1) 利用句号等
能干什么:外网探测或者攻击内网服务。
原理:将Java应用中要传输的数据(数据进行过特殊的构造)反序列化后产生非预期的对象,这个对象在产生的过程中可能导致任意代码的执行
1 确定反序列化的输入点
具体方法就是找到readObject这个方法的位置
2 生成需要的特殊反序列化的payload
3 提交payload
Session的作用是在服务器端存储用户的一些数据,可以打一个比方在逛某宝的时候,逛到最后在购物车中有一大堆商品,某宝就相当于自己的应用程序,购物车就是session
与cookie相对应session本身就是建立在从cookie的基础上,禁用cookie,session就不可用了,cookie存储在本地session存储在服务器
排查:首先找到上传webshell的ip,对相同ip和同时间的攻击行为进行分析,判断出攻击者是如何将webshell 上传到服务器的(sql注入&文件上传。。。)判断出并找出一条完整的攻击链,然后在分析响应体,看攻击是否成功。
可能:
1 使用文件上传上传webshell
2 使用一句话木马,用中国菜刀连接
3 利用命令执行漏洞传webshell
4 用户本身进行的webshell连接
后续操作:
首先要向客户询问,再进过客户的允许下先禁掉对应ip,然后将响应体的内容再自己的浏览器上执行以下看泄露了什么样的信息,最后在把相应路径下的webshell删除(做好备份的前提下),最后将相应的代码和防护意见整理报告上交客户