Less-17
打开靶场,发现页面比之前多了一行字
翻译过来就是,密码重置,大家肯定会想到,自己平时在日常生活中怎么密码重置,肯定是输入自己的用户名,输入旧密码,输入新密码就可以了,但是我们并不知道旧密码是什么,所以我们尝试用bp抓包,在POST的请求里面,修改密码,即可做到重置密码,用户名就选用我们前几关的一个用户名来做题,咱么选用admin吧!
看到下面有一句话,直接把新密码填到password中就可以了,之后点击放行
登陆成功,说明已经密码重置,那我们试验一下用新密码可不可以登录!
也是可以正常登陆的
这道题就可以说明,必须有一个用户名存在在数据库中的,才可以对密码部分修改,所以我们还是用admin,在password中输入语句,对其注入,还是选用报错注入,报错方式还是updatexml函数,先用万能密码试出闭合方式,闭合方式是单引号
1.获取数据库
//security
1' and updatexml(1,concat(0x7e,(select database()),0x7e),1) #
2.表名
1'and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x7e),1) #
3.列名
1' and (updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name ='users'),0x7e),1))#
Less-18
打开题目后我们发现,这道题还能获取我们的IP地址,这是怎么回事??不出意外,就是请求头注入
我们先介绍一下请求头有哪些
Referer:消息头用于表示发出请求的原始URL。
Accept-Language:浏览器支持的语言,zh-cn表示简体中文;zh表示中文;
User-Agent:消息头提供与浏览器或其他生成请求的客户端软件有关的信息。
Host:消息头用于指定出现在被访问的完整URL中的主机名称。
Cookie:消息头用于提交服务器向客户端发布的其他参数
Httponly。如果设置这个属性,将无法通过客户端JavaScript直接访问cookie.
Connection:表示持久的客户端与服务连接。connection:keep-alive
XForrwarded For:是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
Location:这个消息头用于在重定向响应(那些状态码以3开头的响应)中说明重定向的目标。
————————————————版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/ting_liang/article/details/135717180
当我们不知道源码时,我们就不知道用到哪个请求头了,所以就得每一个试一试
靶场我们是知道源码的,我们查看源码
是User-Agent请求头,那我们用bp抓包,修改User-Agent中的语句,让其回显数据,这里我们还是用报错注入!
根据这句话的结构,需要对报错语句有一点点改变
' and updatexml(1,concat(0x7e,(select database()),0x7e),1),1,1) #
之后的步骤和之前的报错注入一样了!
Less-19
和18关一样,那我们先看源码,请求头注入点是什么
请求头是referer
也是根据语句结构,对报错语句修改
' and updatexml(1,concat(0x7e,(select database()),0x7e),1),1) #
之后的步骤和之前的报错注入一样了!
Less-20
是Cookie请求头
我们还是抓包,改Cookie的语句,加上报错注入语句
' and updatexml(1,concat(0x7e,(select database()),0x7e),1) #
之后的步骤和之前的报错注入一样了!