Home >Database >Mysql Tutorial >mysql异或运算的sql注入判断

mysql异或运算的sql注入判断

WBOY
WBOYOriginal
2016-06-07 14:56:022314browse

异或是一种逻辑运算,运算法则简言之就是:两个条件相同(同真或同假)即为假(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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn