登录模块渗透测试

简介:
1、POST注入
2、反射性XSS
3、撞库攻击
4、用户名遍历
5、用户名密码爆破
6、万能密码登录

一、POST注入

1.登录模块的POST注入是在向服务器发送用户名的时候,测试能否进行注入操作
2.测试有没有注入也可以尝试用闭合产生报错的方式进行初步判断

登录模块渗透测试_第1张图片

1.通常情况下用户名的输入位置都有字节长度限制,所以可以使用抓包的方式,在BP中进行注入测试
2.下面我们先拦截一下数据包,发送到repeater模块在进行测试

登录模块渗透测试_第2张图片

1.尝试在用户名的参数位置使用单引号闭合,在发送数据包,果然返回包中又报错信息
2.下一步尝试闭合然后判断是否存在注入

登录模块渗透测试_第3张图片

1.构造语句uname=Dumb’ and’1’='1
利用闭合语句和构造一条真实条件语句进行判断
2.传入真实语句后,数据包返回为正常登录的信息

登录模块渗透测试_第4张图片

1.构造语句uname=Dumb’ and’1’='2 利用闭合语句构造一条假的条件语句进行判断
2.传入假语句后,返回包中不能正常返回信息,说明此处存在注入

登录模块渗透测试_第5张图片

1.构造语句uname=Dumb’ union select updatexm(1,concat(0x7e,(select database()),0x7e),1)
2.因为此处有具体的报错信息,所以可以使用更方便的报错型注入
也可以尝试使用布尔盲注,延时盲注
登录模块渗透测试_第6张图片

二、测试反射型 XSS

1.测试反射型XSS漏洞,主要在于找到写入XSS payload的输入点
当你输入的payload被页面党走自身的语句执行了,说明存在XSS漏洞
2.在登陆页面中可以再用用户名尝试测试,也可以抓包的方式进行测试

登录模块渗透测试_第7张图片

1.构造好payload 在提交数据包是进行BP抓包拦截
2.在数据包中可以找到我们构造的payload测试语句
3.把数据包发送到repeater模块进行测试

登录模块渗透测试_第8张图片

1.把包含有payload的数据发送给出去
2.若是返回包中执行了构造的payload语句,说明此处存在XSS漏洞
3.此处提示“会员账号不存在”说明没有执行构造的payload,可能是姿势问题 haaaaa

登录模块渗透测试_第9张图片

1.XSS漏洞的测试有多种姿势,刚才是直接构造

登录模块渗透测试_第10张图片

三、撞库登录攻击

  • 撞库攻击就是掌握了一定有效数据的情况下,拿这些数据去其他平台进行尝试登陆
  • 例如在51CTO平台有一个可正常登录的账户、密码

登录模块渗透测试_第11张图片

  • 可以通过拦截登录时的数据包查看登录使用的账户和密码
  • 查找我们想要拦截的数据包,也就是带有账号和密码字段的数据包
  • 其实这里的数据包还存在一个明文传输的问题,要不然拦截数据包也是看不到具体的账号和密码

登录模块渗透测试_第12张图片

  • 我们已知了51cto的某个有效账户密码,换一个平台进行登录尝试
    这个登录尝试的过程就是撞库的操作

登录模块渗透测试_第13张图片

  • 同样,也可以通过拦截数据包的形式查看尝试用来撞库登录的账号和密码
  • 当然此处也存在这用户登录凭证 明文传输的漏洞

登录模块渗透测试_第14张图片

  • 假若 使用51cto的有效账号和密码 成功登录了我买网的平台
  • 那就说明此次撞库登录成功

登录模块渗透测试_第15张图片

四、用户名遍历

  • 用户名遍历是一个普遍存在的现象,它比较严重的现象是可以批量进行遍历
  • 下面我们来分不做剖析一下遍历的清理

登录模块渗透测试_第16张图片

  • 填写一个用户名,密码位置随意写入,此处登录还需要填验证码。提交的同时使用BP抓包
  • 把拦截到的数据包发送到repeater模块

登录模块渗透测试_第17张图片

  • 在repeater模块直接发送带有我们输入账号的数据包,返回包中提示“密码错误”
    密码错误的意思就是账号是正确的
  • 由此,我们可以推断出,哪些账号是正确的

登录模块渗透测试_第18张图片

  • 还是之前的数据包。更换输入的账号字段,其他不做任何修改继续发送。
  • 返回包中仍然提示“密码错误”
  • 不断重复以上不走,就可以不断获取有效的用户名,还可以通过intruder模块进行遍历

登录模块渗透测试_第19张图片

五、用户名密码爆破

  • 用户名密码爆破前提是拿到一个有效的用户名
  • 刚才用户名遍历操作就可以很快获取大量的用户名
  • 下面来进行用户名密码爆破操作

登录模块渗透测试_第20张图片

  • 填写正确的用户名,随意写入一个密码,然后提交的同时,使用BP抓包
  • 查看确认拦截的数据包没有问题,发送到intruder模块进行爆破

登录模块渗透测试_第21张图片

  • 在intruder模块,先clear掉所有的标注状态,
  • 然后找到要爆破的密码字段,add上标注
  • 进入payload模块,进行下一步操作

登录模块渗透测试_第22张图片

  • 在这里需要添加准备好的密码字典,可以直接导入
  • 也可以手动添加,想要使密码准确率更高,一般是要提前做社工工作和收集工作的
  • 添加好密码字典后,就可以点击start attack进行爆破了

登录模块渗透测试_第23张图片

  • 在爆破过程中可以通过返回包的长度值来判断是否爆破成功
  • 因为密码正确登录的返回包是唯一的
  • 可以通过查看密码错误的返回包以及长度值排除无效的爆破记录

登录模块渗透测试_第24张图片

  • 通过找出与“密码错误”长度不同的返回包,以及包含的内容,可以判断出爆破成功与否
  • 用户名密码爆破的整个过程就是这样了,当然了,爆破成功也是需要登录验证的

登录模块渗透测试_第25张图片

六、万能密码登录

  • 万能密码登录之所以能成功,就是服务器端没有对用户输入的没密码进行校验,所以只要你构造的密码字段是真实的条件,就允许登录成功
  • 这里首先看一下正确的账号和密码登录的效果

登录模块渗透测试_第26张图片

  • 写入刚才能够正常登录的账号和密码字段,然后抓取一下登录时提交的数据包
  • 在repeater模块完成万能密码登录的测试步骤

登录模块渗透测试_第27张图片

  • 在repeater模块先正常发包,查看返回包内容登录成功的数据内容
  • 确定数据包中正常登录的状态

登录模块渗透测试_第28张图片

  • 在密码字段构造万能密码passwd=‘or’1’='1
  • 构造真实条件的时候要注意符号的闭合问题
  • 把带有万能密码的数据包发送出去,查看返回包内的数据是否是正常的登录数据

登录模块渗透测试_第29张图片

你可能感兴趣的:(渗透测试)