PHP伪协议
相关设置:allow_url_fopen:Off/On allow_url_include:Off/On
常见的几种伪协议
1、file://协议
file协议用于访问系统本地文件 构造如下代码:
http://localhost/file.php?file=file://D:\phpStudy\PHPTutorial\WWW\1.txt访问
2、php://filter
php://filterx协议用于读取源码并以base64输出 http://127.0.0.1/file.php?file=php://filter/read=convert.base64-encode/resource=./1.txt访问
3、php://input
php://input协议可以访问原始数据的流
将jadore写入1.txt
4、data://
data://-数据
会话中认证得到的标识可以被攻击者任意篡改
挖掘思路:
直接将用户信息保存在cookie中并且没有使用session进行认证 1、session劫持攻击,攻击者劫持用户的sessionID来修改用户的session变量 2、session固定攻击,攻击者固定用户的sessionID来存取用户的session数据
案例:
构造登录表单login.html
login.php
输出sesseionID的页面user.php:
获得一个sessionID
攻击代码attack.php:
拷贝sessionID,构造如下:
余额变为1000
此时再回到用户的页面user.php刷新,发现余额也被更改
流程图:
防御:
1、使用随机长度够大够复杂的sessionid 2、封装sessionid 3、更改sessionid的名称 4、及时销毁session(session_destroy)