掌控安全Web安全微专业笔记 (26)

image-20201028002634470

8-3 s-s-rF-服务器端请求伪造 一、什么是s-s-rF?

控制目标站点去访问其他网站

可以访问内网和本机

为什么访问到本机和内网才有严重危害:

1.安全界有个通病,外紧内松,内网全部是洞,安全性不需要那么强

2.本机比内网更脆弱,很多站点和防护软件,对127.0.0.1的本地访问并不会拦截当你有网站管理员权限的时候,某些站点的自带防护也会不拦截

3.找到一些正在开发的网站

image-20201028201845855

能用s-s-rF做什么?

扫描内部网络(FingerPrint)

向内部任意主机的任意端口发送精心构造的数据包{Payload}

DOS(请求大文件,始终保持连接Keep-Alive Always)

暴力穷举(users/dirs/files)

怎么寻找s-s-rF:
1、看功能(出现外部访问,翻译)
2、看传参。如果说传参中存在有后缀的东西[A级]
传参中出现协议名:
a.b 123.txt 1.xls 123.html
为什么有这些东西
1、读取文件显示给你
2、包含文件(文件包含)
3、下载文件

防护:
通过正则匹配。不允许你传内网地址
127.0.0.1=>拦截访问
怎么绕过?
域名肯定是要解析成IP;
我们自己申请个域名,把地址指向127.0.0.1
子域名有一种情况叫做泛解析:
当这个子域名没有特殊规定的时候,自动解析到某个ip

二、s-s-rF攻击

dict://查看字典,可用于探测端口

file://协议 打开服务器的文件

https://www.uedbox.com/post/10801/
https://www.uedbox.com/post/12328/

通过传递url值来实现让服务器访问url值的网站

<?php $URL = $_GET[\'url\']; $CH = CURL_INIT(); CURL_SETOPT($CH, CURLOPT_URL, $URL); CURL_SETOPT($CH, CURLOPT_HEADER, FALSE); CURL_SETOPT($CH, CURLOPT_RETURNTRANSFER, TRUE); CURL_SETOPT($CH, CURLOPT_SSL_VERIFYPEER, FALSE); CURL_SETOPT($CH, CURLOPT_FOLLOWLOCATION, TRUE); $RES = CURL_EXEC($CH); CURL_CLOSE($CH); echo $RES; ?>

?url=http://www.baidu.com

三、靶场演示

image-20201028204237174

用burp抓包,dict协议检测端口,发现81端口有东西

image-20201028204619387

image-20201028204744898

查看源码发现flag

8-4支付漏洞 一、快捷支付原理

商户网站接入支付结果有两种方式,一种是通过浏览器进行跳转通知,一种是服务器端异步通知
浏览器跳转
基于用户访问的浏览器,如果用户在银行页面支付成功后,直接关闭了页面,并未等待银行跳转到支付结果页面,那么商户网站就收不到支付结果的通知,导致支付结果难以处理。而且浏览器端数据很容易被篡改而降低安全性
服务器端异步通知
该方式是支付公司服务器后台直接向用户指定的异步通知URL发送参数,采用POST或GET的方式。商户网站接收异部参数的URL对应的程序中,要对支付公司返回的支付结果进行签名验证,成功后进行支付逻辑处理,如验证金额、订单信息是否与发起支付时一致,验证正常则对订单进行状态处理或为用户进行网站内入账等

支付漏洞?

相对于其他漏洞来说,支付漏洞应该是大家最喜闻乐见的了,比如一分钱购买手机(但是大家渗透测试要有分寸)

支付漏洞并不需要代码审计,各位同学可以放心。

支付漏洞属于逻辑漏洞,挖掘这类漏洞有发散(QiPa)思维,往往有事半功倍的效果,简单来说就是不按常理出牌。

二、常见支付漏洞

修改支付的价格(https://www.uedbox.com/post/22477/)
支付三步曲——订购、订单、付款
三个步骤当中的随便一个步骤进行修改价格测试,如果前面两步有验证机制,那么你可在最后一步付款时进行抓包尝试修改金额,如果没有在最后一步做好检验,那么问题就会存在,其修改的金额值你可以尝试小数目或者尝试负数。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpdzz.html