CSRF
又称跨站点请求伪造(有很多前提)
比如:写一个index.html其中的script去请求一个地址,如果此时访问了攻击者的服务器则会触发修改的数据包,访问了写的地址,修改了用户的信息(前提是提取了对方数据包并且此时对方已经授权登录了此网站)【相当于攻击者盗用了你的身份,以你的名义发送恶意请求。】
漏洞检测
burpsuite有一个功能:
右键,Engagement tools的Generate CSRF PoC;修改包,下面会产生CSRF代码复制后写到index.html中(代码可以简单修改成直接攻击的类型),走一遍攻击流程,成功则有CSRF,反之则无
防御方案
当用户发送重要请求时需要输入原始密码;设置随机Token(最有效)【但基于时间戳的token是可以计算出的,也不是绝对安全】;给数据包上唯一编号,判断是否匹配,若不同则不行;
检测referer来源,请求时判断请求链接是否是当前管理员正在使用的页面(管理员在编辑,攻击者发送恶意链接,因修改密码页面管理员并没有操作,所以攻击失败)
设置验证码;限制请求只能用POST
绕过
二次抓包绕过,抓到包修改Referer为同源地址实现绕过;修改请求头也可以实现绕过
SSRF
又称服务器请求端伪造
目标:外网无法访问的内部系统
原因:服务端提供了从其他服务器应用获取数据功能且没有对目标地址做过滤和限制
漏洞挖掘
功能
通过url地址分享网页内容;通过url地址把原址网页内容调优,使之适合手机屏幕浏览;通过翻译在线文本内容;通过url下载或加载图片;图片、文章收藏功能;未公开的api实现以及其他调用url的功能
关键字
share;wap;url;link;src;source;target;u;3g;display;sourceURL;imageURL;domain
远程上传,对方会请求远程的地址;在填写网址时候,填写127.0.0.1地址会访问对方本地地址,并且http协议可以通过地址去探测对方端口是否开放的,如果长时间加载则没开放
攻击者直接请求内网用户,请求不到,需要通过服务器请求服务器下同一内网的用户,利用网站自己打自己内部
如何知道内网地址
字典跑,大部分内网都是192.168.xx.xx,根据ip地址返回信息判断是否是或根据常见端口去探测是否正确;漏洞攻击;端口扫描;指纹识别;漏洞利用;内网探针等
各协议调用的探针(利用协议得到有价值的东西)
http://内网地址/文件
file:///盘:/文件名
dict://内网地址:端口/文件
ftp://内网地址:端口
攻击的是内网中的一些服务;不同脚本语言对应不同的协议去探;http,https,file,ftp所有都可以
dict中php需要和curlwrappers,curl可以,其他不行
标签:请求,SSRF,url,修改,地址,CSRF,攻击者 From: https://www.cnblogs.com/BWTY/p/17201289.html