Brute Force
Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令,是现在最为广泛使用的攻击手法之一
进行查看是否是暴力之前可以进行抓包,仔细观察抓包结果,参数在URL传递,并且密码明文,没有验证码机制,点击了N次Go,依旧返回200,没有锁定,所以存在爆破。
low
仔细观察抓包结果,参数在URL传递,并且密码明文,没有验证码机制,点击了N次Go,依旧返回200,没有锁定,所以存在爆破
Medium
mysql_real_escape_string函数,这个函数会对字符串中的特殊符号(x00,n,r,,’,”,x1a)进行转义,基本上能够抵御sql注入攻击,
与low级别的爆破方式一样。
High
抓包发现有token
对于有token来防护csrf的,可以使用到这个功能进行爆破,因为每次用户的token都是随机的。
思路&步骤
对于有token来防护csrf的,可以使用到这个功能进行爆破,因为每次用户的token都是随机的。
选择攻击模式为pitchfock,并且给要破解的token项带上美元符号
选择options将线程数设置为1(递归查找,将上一个请求的相应token作为下一个请求的payload的token,所以就不并发)
Grep-Extract模块进行相应设置,获取相应的token,截取相应token的前后标识,用于下次截取
Redirections模块设置允许重定向,选择always
点击payload的时候选择Recursive grep 并且把之前得到的token值粘贴到下方的方框中
开始爆破
Command Injection
Command Injection,即命令注入,是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。PHP命令注入攻击漏洞是PHP应用程序中常见的脚本漏洞之一
low
在ping127.0.0.1的同时还可以进行其他的DOS命令,比如查看用户,创建用户等操作。
Medium
if( isset( $_POST[ 'Submit' ] ) ) {
// Get input
$target = $_REQUEST[ 'ip' ];
// Set blacklist
//设置命令黑名单,里面包含&&和;
$substitutions = array(
'&&' => '',
';' => '',
);
//将参数中有&&和;的都替换成空
$target = str_replace( array_keys( $substitutions ), $substitutions, $target );
相比Low级别的代码,服务器端对ip参数做了一定过滤,即把”&&” 、”;”删除,本质上采用的是黑名单机制,因此依旧存在安全问题。
因为被过滤的只有”&&”与” ;”,所以”&”不会受影响。
也可以进行绕过处理:127.0.0.1&;&ipconfig绕过后变为127.0.0.1&&ipconfig。
High
不是很完善的过滤,"|",没有被处理
CSRF
CSRF(跨网站请求伪造):利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。
- CSRF的攻击建立在浏览器与Web服务器的会话中;
- 欺骗用户访问URL
CSRF有以下使用场景:1.GET 2.POST
预防CSRF
所谓一物降一物,如果使用者不慎点击了恶意链接,还是可以避免CSRF的,预防跨网站请求伪造:
- 二次确认:在调用某些功能时会出些二次确认,比如删除文章,转载文章,会出现输入验证码或者确认执行操作吗?的对话框。或者转账等操作时出现再次输入密码的操作,让使用者产生疑心,防止CSRF。
<input type="hidden" name="token" value="3a8d9fx0s8v8"/> //把token进行隐藏
- Token认证:token是标记,记号的意思,也有令牌之意。Token类似于“验证码”,但是这种验证码不需要输入。Token的验证思路过程:
1,用户登录Web程序后,服务器端会随机产生一段字符串分配给该用户,并将其存储在session中。
2,当用户进入某些页面后,直接将其传递在用户见面或cookie中,比如说HTML中的隐藏标签或cookie中。
3,当用户提交表单或进行GET,POST操作时,服务器端取出session中的token与提交的token进行对比,如果一致则为正常操作,反之可能是CSRF。
检测CSRF
手动检测
当有恶意链接发送过来时,我们查看网页源代码,查看有无针对使用者敏感信息的操作。然后截取HTTP请求,揣摩思考参数的含义。然后更具结论查看使用者的账户有无变动,发现有则表示存在CSRF漏洞。
半自动检测
使用Burp Suite来勘测CSRF漏洞,检测思路:
抓包获取HTTP请求,Bp创建一个Web站点,在浏览器中访问该站点,浏览器成功执行操作。则存在CSRF漏洞。