ssrf
原理
SSRF(Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所有可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)
形成原因
SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。
实验
分析这段源码可以看到虽然禁用了diet端口探测,file文件的关键字段,但是在下面一段发现可以查看php的版本。
在php的信息里可以看到主机的信息,这就可以用bp来抓包爆破剩下的主机
发现开放了3个服务器我们进行以此访问,发现在2的时候显示了go,away。
我们再来利用bp来抓包用暴力破解模块看一下发现6379端口暴露了
这个是redis服务的端口
接下来就可以利用redis未授权的漏洞来访问,由于这台内网主机上还存在一个http服务,我们可以将webshell写入其web目录,然后利用ssrf漏洞进行访问。但是我们尝试发现不能直接在/var/www/html目录下写文件,我们继续用bp的破解模块来查看有啥目录,发现有个upload目录。
然后利用工具生成一段代码
将生成的这段代码进行url encode加密,最后进行提交,我们发现在upload下面生成了对应的php代码,然后就可以进行访问了。
csrf
什么是csrf
跨站请求伪造,冒用Cookie中的信息,发起请求攻击。CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的
实验
dvwa靶场下的csrf(high)
<?php
$change = false;
$request_type = "html";
$return_message = "Request Failed";
if ($_SERVER['REQUEST_METHOD'] == "POST" && array_key_exists ("CONTENT_TYPE", $_SERVER