CSRF学习
CSRF就是跨站请求伪造,看起来很是高大上的名词,实际上就是你在登陆上的时候,还没有进行登出,这时候别人给你发过来一个网址或者是你看到一个网址,你点进去了,这时候这个恶意链接就会进去你正在登陆的地址进行操作,干点啥坏事你也不清楚,这就是CSRF进攻。
在DVWA进行CSRF操作的时候,最简单的就是直接通过url进行CSRf攻击,这种方法极其简单,也极其简单被看出来,明眼人一看你的网址就知道你不想干好事。这时候这个方法主要适用于他没有一点防护意识的时候,在medium级别的时候加了这么一句
if( eregi( $_SERVER[ 'SERVER_NAME' ], $_SERVER[ 'HTTP_REFERER' ] ) )
他的过滤原则是Referer参数的值中必须包含主机名,而你上述简单操作是肯定要有主机名的,这时候你上述最简单的方法就不适合了,就需要你建立html文档,用一个外壳来伪装自己。顺利通过他的过滤网。
high级别的在上述基础上又加入了验证token机制,每次你修改密码时,服务器会返回随机的token,向服务器再次发起修改密码的请求时,需要提交token参数,而服务器收到token后,会首先检查token,只有token正确,才会继续处理客户端的请求。这就好像你在寄存东西的时候,会给你弹出来一个小票,你再下一次打开这个柜子时,就要把小票进行扫描,这样就可以进行打开柜子,我们这里就是修改密码。
php学习以及html学习
php主要学习了运算符。
- 赋值运算符:‘=’就是将你右边的变量或者常量或者数据保存到内存里,然后将位置的内存地址赋给左侧的变量或者常量
- 算数运算符:就是加减乘除以及取余。这里需要注意的是在进行除运算或者取余运算的时候,0不能放在右边,否则就会出错。
- 比较运算:比较两个数据的大小或者是比较是否相同。返回的结果都是布尔型,满足就是true,不满足就是false。这里需要关注的就是
- ‘===’全等于,左边与右边数据的类型和大小都相等。
还有‘!==’只有数据的类型和大小都不相等
- 逻辑运算符:返回值也是布尔型。
‘&&’两边同时成立。
‘||’左边或者右边有一个成立。
‘!’对已有条件进行取反,若原来是true,取反后为false。 - 连接运算符:将多个字符串拼接起来。
‘a.b’: 将a和b连接起来。
‘a.=b’:a=a.b - 错误抑制符:将不可避免的错误不表现给用户看。
‘@’:在可能出错的前面使用即可。 - 三目运算符:三个表达式参与的运算。
表达式1?表达式2:表达式2;如果表达式1成立则执行2,否则执行3。
这里涉及符合三目运算,用括号包起来一部分即可。
html的学习就更为基础一些,主要学习了他的架构
<html> HTML根标签
<head> 头标签
<title></title> 标题标签
</head>
<body> 主题标签
...
</body>
</html>
以及各种文本标签,主要是改变文本格式以及图片超链接以及列表。