安全测试-账号密码破解

一、安全等级为low时的试验

 

1.1SQL注入方式破解

1.初看界面时,检测界面上有没有sql注入点 ,按之前在sql注入的章节里面的xxxx' and 1=1#进行试验

2.盲猜账号为admin或者root,首先用admin进行测试

3.在账号界面输入admin' and 1 = 1# 密码随便输

4.发现居然登录成功了!!!注入成功,low等级的登录界面果然漏洞百出!

5.翻看一下low等级页面的源码 

 

发现$query = "SELECT * FROM users WHERE user = '$user' AND password = '$pass';";这一句中,没有对账号密码进行sql注入的过滤

当我输入正确的账号后面加入 ‘ and 1= 1# 之后,后面的password 的判断被我注入的#号给过滤了,所以密码我输入什么都可以登录成功!!

1.2暴力破解

1.首先进入界面时,发现该界面没有验证码,第一印象是可以进行暴力破解

2.随意输入一个错误的账号密码,反复输入,虽然提示错误,但是没有一段时间内限制我的输入次数,那就更加确定可以使用暴力破解了

3.打开burpsite的暴力破解相关界面,加入暴力破解检查单,进行破解

4.破解成功

1.3 burpsite暴力破解操作

 

 

 

 

1.3计时攻击

假设你的登录页面的后端代码是这么实现的:

 

第一步,很明显,通过判断字符长度这一层的时间如果错误就直接返回了,程序不用经过下面的判断,使用的时间会少一点,因此我们可以通过不断的长度试探,再用不同的返回时间来确认密码长度。

第二步,看后面的判断,每个字符如果正确或错误,返回的时间也是不一样的,那么,可以通过暴力攻击的方式逐个比较判断即可

第三步,经过上述分析,又可以借由工具去爆破密码了,方法同1.2说明的差不多,不再赘述

posted @ 2025-05-14 14:20  寻虫测试  阅读(45)  评论(0)    收藏  举报