并不是,太天真了。跨站攻击的方法有多种,不当然就得用单引号。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