sql注入练习,sqli-labs writeup
一、Less-1

1.判断是否存在注入

URL中输入“?id=1”,发现回显有变化,说明存在注入;
2.判断闭合字符,注释后面的内容

输入“ ?id=1' ”,回显为 "1" limit 0,1,其中1’是我们输入的内容,这时就变成了 ’ ’ 1‘ ‘ limit 0,1‘(蓝色字体为我们输入的内容),原单引号是闭合的(闭合是指,符号成对出现)
之前是第一个单引号与最后的单引号闭合,第二个单引号与第四个单引号闭合。现在我们输入的内容始终是在两个单引号之间,作为字符串进行处理,所以需要将第二个单引号进行闭合,就在1后面输入一个单引号,并将后面的内容进行注释,输入--+或者%23

这时回显内容正常
3.判断列数
使用order by(排序),来判断有几列数据,
随便写 先写order by 5,发现回显错误,说明列数是小于5的。

依次试4和3,4的回显结果与5相同, 发现到3时回显正确,说明列数为3

4.判断显示位(需要将order by删除)
使用union联合查询判断显示位。
首先先使union前面的语句为假,这样就只会显示union后面的查询结果,输入 and 1=2(因为1=2恒为假),或者 id=-1'.
接着输入union后面的部分,因为union前后查询的字段数量是一样的,所以后面select就需要输入3个字段,结果如下:

发现,只显示2,3列的数据
5.爆数据库
使用l连接函数group_concat(),此函数是将括号内字段的字段值以逗号作为分隔符打印在一行。
MySQL自带四个库,其中information_schema库下存放着数据库对象相关概要信息,比如字符集、引擎、数据库、数据表、视图、列、权限等,其中有重要的三个表,分别是:
(1)schemata表,存放着MySQL数据库下所有库的信息,show databases命令的结果就是来自于这个表。此表有五列,分别是:
catalog_name、schema_name、default_character_set_name、default_collation_name、sql_path,其中schema_name列存储的就是MySQL数据库下所有库的名字(爆数据库名用到此表);
(2)tables表,此表提供了关于数据库中的表的信息(包括视图),重要的两个列,一是table_schema:表所属数据库的名字,二是table_name:表的名字(爆表名就要用到此表)。
(3)columns表,此表提供了表中列的信息,详细表述了某张表的所有列以及每个列的信息,重要的三个列,一是table_schema:字段所属数据库的名字,二是table_name:字段所属数据表的名字,三是column_name:字段的名字(用此表爆字段名)。
所以爆数据库的语句是:
union select 1,group_concat(schema_name),3 from information_schema
爆出所有数据库名称

查询我们当前所在的数据库名,我们就用此数据库来爆其他信息。
使用database()函数,查询当前数据库名称

6、爆表名
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security'

发现这些表中有一个users表,这个表一般存放着用户的一些敏感信息,下一步我们就爆此表的字段。
7、爆字段
union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'

发现,这些字段中有username和password这两个字段,也就是用户名和密码,我们现在就爆这个字段的数据内容。
8、爆数据
根据以上操作,我们知道了数据库是security,表示users,字段是username及password,所以我们现在就来包用户名和密码。

知道用户名和密码就可以进行登录,如果是管理员用户名和密码就更好了。
OK,结束!
sql注入练习,sqli-labs writeup的更多相关文章
- (其他)SQL注入(转)
转自维基百科: SQL注入是一种代码注入技术,用于攻击数据驱动的应用程序,在这种应用程序中,恶意的SQL语句被插入输入字段中执行(例如将数据库内容转储给攻击者).[1] SQL注入必须利用应用程序软件 ...
- SQL注入是什么?如何防止?
SQL注入是什么?如何防止? SQL注入是一种注入攻击,可以执行恶意SQL语句.下面本篇文章就来带大家了解一下SQL注入,简单介绍一下防止SQL注入攻击的方法,希望对大家有所帮助. 什么是SQL注入? ...
- DoraBox sql注入&文件上传
SQL注入 1.sqli数字型 判断是否存在注入点,执行1 and 1=1,有回显判断存在注入点 判断字段数,执行1 order by 3以及执行1 order by 4时报错,判断字段数为3 判断具 ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- CTFHub Web题学习笔记(SQL注入题解writeup)
Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- Natas30 Writeup(sql注入)
Natas30: 本关是一个登录页面,查看源码,可以发现关键代码. if ('POST' eq request_method && param('username') &&am ...
- Natas14 Writeup(sql注入、sql万能密码)
Natas14: 是一个登录页面.源码如下. if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
随机推荐
- GIS开发 图形常见算法
摘录:OSGeo中国中心 http://www.osgeo.cn/post/ae457 计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简 ...
- list内含有元组或字典
a=[(")] for k,v,i in a: print(k,v,i) 结果: 1 21 12 2 31 32 list里含元组,可以用这种遍历输出挨个元素 但list里含字典时,这样就只 ...
- maven构建web项目,用jetty测试的配置pom.xml
maven构建web项目,用jetty测试的配置pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmln ...
- PDOMySQL实现类, 自动重置无效连接
PHP连接MySQL时, 有可能因为MySQL的原因,而使得php里生成的连接无效.比如超过8小时, MySQL自动断开空闲连接的问题,虽然可以调高这个时间,但显然这不是比较文艺的实现方式.现在洒家用 ...
- laravle 整合 thrift
1,安装thrift https://www.cnblogs.com/sunlong88/p/9965522.html 2,生成 RPC文件 thrift -r --out ./app --gen p ...
- MySQL常用的七种表类型(转)
MySQL常用的七种表类型(转) 其实MySQL提供的表类型截至到今天已经有13种,各有各的好处,但是民间流传的常用的应该是7种,如果再细化出来,基本上就只有两种:InnoDB.MyIASM两种. ...
- 李航《统计学习方法》CH02
CH02 感知机 前言 章节目录 感知机模型 感知机学习策略 数据集的线性可分性 感知机学习策略 感知机学习算法 感知机学习算法 感知机学习算法的原始形式 算法的收敛性 感知机学习算法的对偶形式 导读 ...
- Oracle中 “ORA-14551: 无法在查询中执行 DML 操作” 如何解决
在编写一个数据库函数时,方法实现需要查询后进行修改,出现ora-14551的错误 create or replace function fun_DxcBillSn(tabType integer,ta ...
- linux常用命令 wc统计命令
统计命令wc wc [选项] 文件名 选项 -l 只统计行数 -w 只统计单词数 -m 只统计字符数 192:linux_worspace aouo$ wc /etc/passwd 103 ...
- ,vue-router使用心得
今天周末,趁着没事,自学了一下vue-router,对于vue的路由跳转,目前我遇到了router-link和this.$router.push(或者this.$router.replace)这种 ...