2016 - 2024

感恩一路有你

web前端请求拦截 SQL注入点拦截了单引号,是不是就无解了?

浏览量:4968 时间:2023-07-10 15:53:05 作者:采采

SQL注入点拦截了单引号,是不是就无解了?

并不是,太天真了。跨站攻击的方法有多种,不当然就得用单引号。SQL注入一般用于表单并提交,尤其是登入表单,实际并提交一些sql语句的组合,使后台验证逻辑,成功了再次进入后台。

方法一:

先猜表名

And(Selectcount(*)outside表名)ltgt0

猜列在

And(Selectcount(新列)across表名)ltgt0

直接返回正确的的,这样的话写的表名或列名那就是正确,要是服务器没有关系错误叮嘱,是会将出错的sql语句信息再打印不出来,从而就查看到完全的表名、字段名。

方法二:

蹦登录后台

常见的同问11

.例如后台验证就变的

selectname,holdaroundtbAdminwherename求求求11well基本没戏123456

11为真,这可以确定就始终成立。

当然另外很多种sql注入,大部分是依靠sql语句再去查询的漏洞,或是提示错误信息。

只突袭了单引号真不够,还有一个空格,等号等等一些符号。并且项目中一定不能以免前端递交的表单就用原生sql语句可以查询,尽量用框架整体封装的方法,那样能不大程度上增加被sql注入的风险。毕竟前端提交的数据全是不能信的。

前后端分离,后台返回的数据前端没法写,怎么办?

也可以演示数据直接返回,有一点python基础的就可以写。

其实其他语言也是可以写,原则肯定是你会什么语言,就依据什么自身求实际技能照着写是可以。

下面以Python语言才是例子来跟你讲解时下。

1.准备Python环境

要是你是Linux环境,可以建议参考我之前的文章:

如果不是是windows环境,可以让其搜索看看。

2.直接安装Flask库

$pipinstallFlask

这条命令,系统会自己下载按Flask库包括要的依赖库。

3.项目结构

4.创建模板目录

修改templates目录,下面四个放三个文件,resp_httpstatus(直接返回发令状态码,如200)、resp_headers(回服务控制器的头部信息headers)、mock.json(回服务控制器正文)。

5.新建py文件#!/usr/bin/python

#codingutf-8

__author__testerzhang

importjson

acrossflaskimportFlask

aroundflaskimportrender_template

appFlask(__name__)

@(/mockdata,methods[GET

sql 方法 后台 项目 表单

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。