漏洞重温之sql注入(七)
漏洞重温之sql注入(七)
sqli-labs通关之旅
Less-31
首先,进入31关,我们先添加上id参数。

然后,我们查看源码。

我们门可以看到,index页面源码其实很简单,网页也没有对我们的输入做防御。
所以这里我们只需要使用 双引号加括号闭合,然后再后面拼接sql语句就可以了。
payload如下:
1") and 1=2 union select 1,version(),database() --

至于login页面,跟前面一关一样,基于参数污染的注入。
payload如下:
id=1&id=1") and 1=2 union select 1,version(),database() --

第三十一关,通关。
Less-32

第三十二关,同样为get型注入,然后进入我们喜闻乐见的看源码环节。

从这段代码中,我们可以看到,程序在最开始定义了一个函数,并且将我们传入的参数使用了这个函数进行了转义。根据代码,我们可以发现,网页是过滤了单引号,双引号和斜杠。
接着往下看。

因为在正常情况下,我们构造闭合需要使用到单引号或者双引号,所以在一般情况下,如果单双引号被过滤,我们就无法进行正常注入操作。
但是,根据代码:
mysql_query("SET NAMES gbk");
我们知道网页使用的是gbk编码,所以我们就可以使用宽字节注入来进行绕过对单引号的过滤。
构造payload:
1%df%27+and+1=2+union+select+1,version(),database()+--+

对于这个payload,简单点来理解的话就是,如果网站使用gbk编码,那么%df就会和过滤中添加的内容组成一个字符,这就导致了本来应该针对单引号的过滤被提前组合,所以单引号就可以免于被过滤。后面因为是直接在url中添加内容,所以需要使用“+”来代替空格,不然会引起语句出错。
第三十二关,通关。
Less-33

查看源码。

首先,第一个红框内容,告诉我们网页封装了一个函数来进行参数过滤。其中addslashes函数的作用是在输入内容前加上一个斜杠。
第二个红框内容,告诉我们网页将我们输入的参数进行了转义。
第三个红框内容,告诉我们这里可以使用宽字节注入(不明白为什么的可以去看上一关),以及这里的闭合需要使用单引号。
知道这几点之后,我们就可以开始构造payload了:
1%df%27+and+1=2+union+select+1,version(),database()+--+

第三十三关,通关。
Less-34

跟前面几关不同,34关是POST型注入,面对这种注入,我们一般有两种方式,第一利用工具包抓取请求包,直接在请求包中拼接payload,另外一种就是利用hackbar的POST DATA功能。
这里我们使用第一种。
但我们首先还是要先查看源码。

网页将我们输入的uname参数和passwd参数使用addslashes函数进行转义,然后网页又使用gbk编码,所以我们可以使用宽字节注入来进行绕过。
这次的payload可能跟之前有些区别。
因为这里在登录成功之前没有回显位置。所以在我们不确定用户名和密码的时候,我们可以使用报错注入来进行注入攻击。
payload如下:
1%df%27+and+updatexml(1,concat(0x7e,(database()),0x7e),1)+--+

第三十四关,通关。
Less-35
第三十五关同样是get型注入,直接看源码。

首先我们看到了网页对我们输入的id同样进行了过滤,而且网页依然使用了gbk编码。
但是,这里并不需要使用到宽字节注入。
因为我们可以明确的看到,id参数,并没有使用任何包裹,也就是说,我们可以直接在后面拼接我们希望系统执行的sql语句。
payload:
1 and 1=2 union select 1,version(),database()

第三十五关,通关。
漏洞重温之sql注入(七)的更多相关文章
- 漏洞重温之sql注入(五)
漏洞重温之sql注入(五) sqli-labs通关之旅 填坑来了! Less-17 首先,17关,我们先查看一下页面,发现网页正中间是一个登录框. 显然,该关卡的注入应该为post型. 直接查看源码. ...
- 漏洞重温之sql注入(六)
漏洞重温之sql注入(六) sqli-labs通关之旅 Less-26 进入第26关,首先我们可以从网页的提示看出本关是get型注入. 我们给页面添加上id参数后直接去查看源码. 需要关注的东西我已经 ...
- DVWA漏洞演练平台 - SQL注入
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,具体来说,它是利用现有应用程序将(恶意的)SQL命令注入到后台数据库引擎执 ...
- pikachu漏洞练习之sql注入
这里因为实验的时候只记录了一部分所以就展示一部分 1.1.1数字型注入 (1)看到界面发现是查询id功能,没有在url里看到有传参所以应该是post方法提交数据. (2)进行sql注入之前我们最好是先 ...
- 【漏洞汇总】SQL 注入漏洞之 mysql
日期:2019-07-23 19:55:59 更新:2019-08-02 10:40:37 作者:Bay0net 介绍:Mysql 注入笔记 0x01. 基本信息 1.1 基本术语 数据库: 数据库是 ...
- Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。
Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说... root@xi4ojin:~# cd ...
- WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞
漏洞名称: WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞 CNNVD编号: CNNVD-201310-499 发布时间: 2013-10-23 更新时间: 20 ...
- WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞
漏洞名称: WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞 CNNVD编号: CNNVD-201309-388 发布时间: 2013-09-24 更新 ...
- 关于sql注入漏洞的挖掘及渗透工具简介
大量的现代企业采用Web应用程序与其客户无缝地连接到一起,但由于不正确的编码,造成了许多安全问题.Web应用程序中的漏洞可使黑客获取对敏感信息(如个人数据.登录信息等)的直接访问. Web应用程序准许 ...
随机推荐
- 深入了解Redis(1)-字符串底层实现
一.简单动态字符串(SDS) Redis中字符串实现有两种方式,C语言传统字符串(以空字符结尾的字符数组)和简单动态字符串(SDS),并将SDS作为默认字符串表示. C字符串只会作为字符串字面量,用在 ...
- 移动物体监控系统-sprint4嵌入式web服务器开发
一.BOA嵌入式服务器的移植 step1:下载BOA服务器并解压,进入boa下面的src目录,执行./configure生成必须的配置文件以及Makefile step2:修改Makefile文件 c ...
- Linux中文解决
中文编码问题 安装中文语言包 locale -a | grep zh 查看是否有中文语言包 local 查看是否 LC_TYPE 为空 在 /etc/profile.d/ 下创建 lc_type.sh ...
- SonarQube 扫描 Java 代码
SonarQube 扫描 Java 代码 环境 需要提前安装好 SonarQube7.9,安装步骤见 Docker 安装 SonarQube 步骤 填写项目名 my_project 填写token名 ...
- 在Springboot中写使用jsp
jsp其实可以看成一种模板语言,在Springboot中我们同样可以使用jsp.我们可以把引入jsp的过程分为三步: 第一步:POM文件加依赖: <!--引入springboot内嵌的tomca ...
- 商业分析-04行为&业务相关数据指标
[访问深度]用户对产品的了解程度 [弹出率] 弹出率是基于访问回话的 而不是基于页面的,上图中1 4 6 是属于弹出
- Vue 自定义VueRouter-简版
主要是思路,自己定义组件的时候可以借鉴 Vue-router的 类图 name options: ==> 记录构造函数中传入的对象,在 new VueRouter的时候传了一个对象( route ...
- 用python爬取B站在线用户人数
最近在自学Python爬虫,所以想练一下手,用python来爬取B站在线人数,应该可以拿来小小分析一下 设计思路 首先查看网页源代码,找到相应的html,然后利用各种工具(BeautifulSoup或 ...
- 解决QT5移植报错:This application failed to start because no Qt platform plugin could be initialized
今天自己基于Pyqt5开发了一个软件,打包成exe后在自己的电脑上运行正常,在其他机器上提示: This application failed to start because no Qt platf ...
- 解决SpringBoot页面跳转无法访问静态资源的问题
初学SpringBoot,写项目的时候遇到了问题,原本的页面是这样的 但启动项目后是这样的 这是因为thymeleaf中引入静态资源及模板需要使用到 th:xxx 属性,否则无法在动态资源中访问静态资 ...