手工sql注入判断是否存在注入点
1.加入单引号 ’提交,
结果:如果出现错误提示,则该网站可能就存在注入漏洞。
2.数字型判断是否有注入;
语句:and 1=1 ;and 1=2 (经典)、' and '1'=1(字符型)
结果:分别返回不同的页面,说明存在注入漏洞.
分析:and 的意思是“和”如果没有过滤我们的语句,and 1=1就会被代入SQL查询语句进行查询,
如果and前后的两条语句都是真的话就不会出错,但如果前后语句有一个为假的话,程序就会暴错。
也就表明程序有注入漏洞
防注入解决办法:
使用or 2>1 ; or 1>2来进行判断
结果:分别返回不同的页面,说明存在注入漏洞.
分析:or注入只要求前后两个语句只要有一个正确就为真,如果前后两个语句都是正确的,反而为
假。
记住:or注入时,or后面的语句如果是正确的,则返回错误页面!如果是错误,则返回正确页面
,说明存在注入点。
使用xor 1=1; xor 1=2
结果:分别返回不同的页面,说明存在注入漏洞.
分析:xor 代表着异或,意思即连接的表达式仅有一个为真的时候才为真。
记住:xor注入时,xor后面的语句如果是正确的,则返回错误页面积,如果是错误,则返回正确
页面,说明存在注入点。
把and 1=1转换成URL编码形式后在提交
and 1=1 URL编码:%41%4E%44%20%%31%3D%31
使用-1;-0
分析:如果返回的页面和前面不同,是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;在
URL地址后面加上 -0,URL变成 news.asp?id=123-0,返回的页面和前面的
页面相同,加上-1,返回错误页面,则也表示存在注入漏洞.
3.字符型判断是否有注入:
语句:' and '1'=1;' and '1=2(经典)
结果:结果:分别返回不同的页面,说明存在注入漏洞.
分析:加入' and '1'=1返回正确页面,加入' and '1=2返回错误页面,说明有注入漏同。
防注入解决办法:
在URL的地址后面加上'%2B'(字符型)
分析:URL地址变为:news.asp?id=123'%2B',返回的页面和1同;加
上'2%2B'asdf,URL地址变为:news.asp?id=123'%2Basdf,返回的页面和1
不同,或者说未发现该条记录,或者错误,则表示存在注入点,是文本型的。
4.搜索型判断是否有注入:
简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明90%存在这个漏洞。然后搜
索%,如果正常返回,说明95%有洞了。
说明:加入如"&;"、"["、"]"、"%"、"$"、"@"等特殊字符,都可以实现,如果出现错误,说明有问题
操作:
搜索一个关键字,比如2006吧,正常返回所有2006相关的信息,再搜索2006%'and 1=1 and '%'='和
2006%'and 1=2 and '%'=',存在异同的话,就是100%有洞了。
关键字%' and 1=1 and '%'='%
关键字%' and 1=2 and '%'='%
将and 1=1 换成注入语句就可以了
手工sql注入判断是否存在注入点的更多相关文章
- sql注入判断流程(结合sqli-labs学习)
sql注入判断流程(结合sqli-labs学习) 类型一 类型判断 ?id=1 and 1=2 --+ 如果返回结果正常,说明不是数字类型 and 为两方都为真才算争取 ?id=1' --+ 显示不正 ...
- zabbix(sql注入判断脚本)
zabbix(sql注入判断脚本) #-*-coding:utf-8-*- # code by anyun.org import urllib import re def getHtml(url): ...
- SQL注入汇总(手注,盲注,报错注入,宽字节,二次编码,http头部){10.22、23 第二十四 二十五天}
首先什么是SQL注入: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. SQL注入有什么危害? 危害:数据泄露.脱库 ...
- 渗透常用手工SQL注入语句合集
1.判断有无注入点; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等..and 0<>(select ...
- 手工sql注入简单入门
1.判断是否可以注入: 数字型: 1.1在参数后面加一个引号',如果页面报数字number错误,则一定不是sql注入点:如果报数据库比如mysql.oracle之类的错误,则是一个sql注入点. 1. ...
- 手工sql注入(重点)
sql 子查询:() select goods_name from goods where goods_id=(select max(goods_id) from goods): 联合查询:selec ...
- 渗透测试初学者的靶场实战 2--墨者学院SQL注入—报错盲注
墨者SQL注入-MYSQL数据库实战环境 实践步骤 1. 决断注入点 输入单引号,提示错误信息: 输入and 1=1 返回页面正常: 输入 and 1=2 返回正常 输入-1,返回异常: 2. 带入s ...
- 【web安全】第六弹:手工SQL注入详解
前一段时间,在对SQL注入有了新的理解之后,写了这篇文章.本来准备投稿,因为内容过于基础被打回来了,想想屯着也没意思,发出来发出来~~本来有好多图的,但是博客园发图很麻烦,word文档的链接会贴在文章 ...
- Sqlmap注入Base64编码的注入点
不小心删了,找快照才找到的.补回来... 上次遇到一个Base64的注入点,手工注入太麻烦,于是在网上看了一下sqlmap Base64注入的方法,如下: sqlmap -u http://xxxx. ...
随机推荐
- 爬虫之重要的requests模块
一 . requests模块 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半 ...
- Kattis - cardhand Card Hand Sorting 【暴力枚举】
题意 给出 一个扑克牌的序列 求排成一个"有序"序列 最少的插入次数 有序是这样定义的 同一个花色的 必须放在一起 同一花色中的牌 必须是 升序 或者是 降序 然后 A 是最大的 ...
- 算法(Algorithms)第4版 练习 1.3.14
方法实现: //1.3.14 package com.qiusongde; import java.util.Iterator; import java.util.NoSuchElementExcep ...
- 算法(Algorithms)第4版 练习 链表类 1.3.19~1.3.29
package com.qiusongde.linkedlist; import java.util.Iterator; import java.util.NoSuchElementException ...
- 检测UTF-8编码
在PHP检测字符串是否是UTF-8编码的时候,很多人在使用mb_detect_encoding的时候,经常遇到检测不准的问题,下面的方法可以准确检测编码是否是UTF-8 function check_ ...
- Servlet传递数据方式
Servlet传递数据方式 基本概述 Servlet传递数据的方式有很多,这里提供五种方式: 1.静态变量 2.HttpServletResponse的sendRedirect()方法 3.HttpS ...
- hdu1520树形dp入门
题目链接 题意:要开派对,邀请了上司就不能邀请他的下属,邀请了下属就不能邀请他的上司,每个人有一个值,求邀请的人的总值最大 第一行给出一个数n,代表有n个人. 下面n行分别给出n个人的的值 再下面n行 ...
- ACM学习历程—HDU 2112 HDU Today(map && spfa && 优先队列)
Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线 ...
- 【Lintcode】018.Subsets II
题目: Given a list of numbers that may has duplicate numbers, return all possible subsets Notice Each ...
- 【Lintcode】137.Clone Graph
题目: Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. ...