昨天从17点到21:30一下子挖了4个半小时的csrf

感觉贼爽,收获也颇丰,领悟了一套华山剑法,来快速定位csrf漏洞

昨晚挖的是一个电商的src,所以测试点也都是电商类的

添加购物车、添加收货地址、删除收货地址啥的


0x01 基本流程

1.png

1.发到Repeater模块下,go一次看看正常的相应包

2.png

2.观察post数据里是否存在与用户信息或者token相关的字段

如果存在,那么删除后看看相应包是否正常。

如果正常那么继续,如果不正常,那么尝试绕过(几率很小)

当然,没有更好

3.观察header中的Referer、Origin字段

3.png

删除Origin,看看相应包是否正常

如果正常那么继续,如果不正常那么尝试绕过(几率较小)

删除Referer,看看相应包是否正常

如果正常那么继续,如果不正常那么尝试绕过(几率较大)

正常的话然后构造表单用另一个浏览器另一个账号进行验证

BurpSuite里面

右键-Engagment tools-Generals CSRF Poc
4.png
5.png

0x02 基本绕过

假设原referer如下:

Referer: http://admin.teagle.top/test/

发现删除referer删除后失败后

删除域名后边的东西,成功则说明不检测路径(呃,一般不检测路径)

Referer: http://admin.teagle.top/

1. 检测referer是否属于指定域

将二级域名替换为别的字符,成功则说明后台检测的是referer是否属于teagle.top域

Referer: http://aaaaa.teagle.top/

绕过:

寻找个任意二级域名*.teagle.top,构造xss

<img src=payload>

2. 检测referer中包含指定关键字

将admin.teagle.top放到路径位置,域名换为别的;
成功则说明服务器检测了关键字

Referer: http://www.baidu.com/admin.teagle.top/

绕过:

构造admin.teagle.top目录,将文件放到该目录下

3. 检测referer中是否含有指定的域

构造如下Referer,如果成功,则说明服务器检测了域

Referer: http://admin.teagle.top.baidu.com/

绕过:

在自己的域名上添加解析,然后将指定的域名包含进去
6.png

0x03 其他

昨天遇到一种情况

点击添加购物车后

后面跟了四个请求

针对这种情况,可以按照如下操作来决定决定性请求是哪一个

  1. 四个请求走完流程
  2. 关掉firefox的代理,将history中的四个条目逐个发送到repeate模块
  3. 删除刚才添加到购物车里的东西
  4. 四个请求,逐个发送,每发送一次边刷新一次购物车
  5. 找到那个决定性请求后,删除刚才添加到购物的东西
  6. 再发送一次刚才发现的请求

如果成功,那么说明添加购物车只需要这一个请求,在这个请求上尝试csrf即可

如果失败,说明需要多个链接,也就意味着接近GG

0x04 参考文章

Http referer origin
https://www.cnblogs.com/btgyoyo/p/6232569.html
CSRF 花式绕过Referer技巧
http://www.it610.com/article/3305205.htm
CSRF 防御
https://www.jianshu.com/p/d15c5773fa07


本文由 TEag1e 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gificon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.pngicon_rolleyes.gif2016gz.gif2016kun.gif2016zhem.gif2016am.gif2016kel.gificon_twisted.gif2016lh.gificon_neutral.gif2016ka.gif2016tx.gificon_evil.gif2016bb.gif2016yun.gif2016qq.gif2016baojin.gificon_confused.gif2016kk.gif2016zk.gif2016kb.gificon_mad.gif2016yhh.gificon_exclaim.gif2016xia.gif2016gg.gif2016qd.gificon_smile.gif2016lengh.gificon_biggrin.gif2016bz.gif2016wq.gificon_eek.gificon_arrow.gificon_wink.gif2016tuu.gif