sql模糊搜索代码php,like模糊匹配以及简易SQL注入

基本增,删,查,改配合like,between等操作

假设存在数据库为WebApplication 表名User 如下所示

ID

Username

Password

Access

1

admin

admin@nimda

true

2

Alice

alice@ecila

false

3

Bob

bob@bob

false

4

Cindy

cindy@ydnic

false

语法使用

查 应用场景:查到可能是管理员且有权限的用户名以及密码

select * from User where Access and (Username like "*admin*" or Username like "*sa*" or Username like "*root*") ;

ID

Username

Password

Access

1

admin

admin@nimda

true

注意区分下面几个SQL执行语句

select * from User where Access and Username like "*admin*" or Username like "*sa*" or Username like "*root*" ;

select * from User where Access and Username like ("*admin*" or "*sa*" or "*root*") ;

假设存在数据库为WebApplication 表名User 如下所示

ID

Username

Password

Access

1

admin

admin@nimda

true

2

Alice

alice@ecila

false

3

Bob

bob@bob

false

4

Cindy

cindy@ydnic

false

5

tt

1234

false

6

ss

34234

false

7

east

43254

false

删 应用场景:删除密码为1~999999纯数字密码的所有账户

delete from User where password between "1" and "999999"

ID

Username

Password

Access

1

admin

admin@nimda

true

2

Alice

alice@ecila

false

3

Bob

bob@bob

false

4

Cindy

cindy@ydnic

false

SQL注入应用场景

php源代码:

$Username = $ _GET ['user'];

$Password = $ _GET ['pwd'];

$conn = mysql_connect('IP','sql_user','sql_pwd')

if($conn){

echo "It's OK!"

}

mysql_select_db("WebApplicatiobn", $conn);

$result = mysql_query("SELECT * FROM User where Username='".$Username."' and Password ='".$Password."'");

mysql_close($conn);

?>

其中

"SELECT * FROM User where Username='".

math?formula=Username.%22'%20and%20Password%20%3D'%22.Password."'"是通过URL进行GET方式进行用户账户密码传输,一般应当存储MD5之后的密码,为了简单测试SQL注入,故意存储明文密码;

注入方式如下

1.构造条件恒成立 where ture;

SELECT * FROM User where Username='admin' and Password =''or '1'='1'

SELECT * FROM User where Username='admin' -- and Password =''

2.使用联合查询/堆叠查询进行处理,可以执行后边构造的恶意SQL语句;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值