CSRF
目录
一、说明
二、Low级别
三、Medium级别
四、High级别
五、Impossible级别
六、预防CSRF的方法
一、说明
CSRF的默认登录密码为password我们在完成每个级别之后需要让其回复原始密码,以防忘记密码。重置密码的方法如下图所示
二、low级别
代码分析
相关函数:
- $GLOBALS[“___mysqli_ston”]:表示数据库的连接语句。
- is_object()函数:用于检测变量是否是一个对象。
- mysql_real_escape_string(string,connection)函数:转义 SQL 语句中使用的字符串中的特殊字符。connection—规定 MySQL 连接标识符如上面的$GLOBALS[“___mysqli_ston”],string—规定要转义的字符串。如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。
- trigger_error()函数:创建用户自定义的错误。
- E_USER_ERROR:用户自定义错误类型。
- mysql_query(query,connection)函数:执行一条mysql查询语句。query—查询语句,connection—mysql连接标识符。
- die() 函数:输出一条消息,并退出当前脚本。
- mysql_error()函数:返回上一个 mysql 操作产生的文本错误信息。
- mysql_connect_error()函数:返回上一次连接错误的错误描述。
- mysqli_close()函数:关闭先前打开的数据库连接。
通过分析源码可知它没有进行任何方式的防御,只要两次输入的密码相同就可以更改密码。那我们只需要构造一个页面让他一点就可以达到修改密码的目的。我们来看一下修改密码时的URL是怎样的。
我们用这个链接写一个html页面即可