mysql异或运算的sql注入判断

WBOY
풀어 주다: 2016-06-07 14:56:02
원래의
2304명이 탐색했습니다.

异或是一种逻辑运算,运算法则简言之就是:两个条件相同(同真或同假)即为假(0),两个条件不同即为真(1),null与任何条件做异或运算都为null,如果从数学的角度理解就是,空集与任何集合的交集都为空。 mysql里异或运算符为^ 或者 xor 两个同为真的条件

  异或是一种逻辑运算,运算法则简言之就是:两个条件相同(同真或同假)即为假(0),两个条件不同即为真(1),null与任何条件做异或运算都为null,如果从数学的角度理解就是,空集与任何集合的交集都为空。

  mysql里异或运算符为^ 或者 xor


两个同为真的条件做异或,结果为假

wKiom1V6bq_iUkcwAABEQlyQkaU645.jpg

两个同为假的条件做异或,结果为假

wKiom1V6by7B3J18AAA-9bDKeD4079.jpg

一个条件为真,一个条件为假,结果为真

wKioL1V6cRDwT65LAABGRaNw770989.jpg

null与任何条件(真、假、null)做异或,结果都为null

wKioL1V6cVLCp0AtAADUa31dzbA518.jpg

说这么多有什么用呢?遇到一个异或的sql注入,就是用这种方法去判断的。


以下是携程某分站的一个例子,作为研究技术的参考:

条件为假的时

wKiom1WI8a6xnNNoAAS8PgWuvEQ784.jpg

条件为真时

wKioL1WI85zhbWOxAALnY7yLkV8460.jpg

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿