小白入门渗透web基础sql注入----常见的sql语句中的注入逻辑

小白web基础sql注入基础

常见的四种sql语句delect,insert,update,delete注入逻辑

本人小白,刚刚入门,可能技术含量真的很低,但一定好好写,欢迎各位大佬的指点

select 语句

我觉得先假设个例子吧
最简单的就是一个通过出版商查书名的业务了,给我们输入的地方是我们填一个出版商 比如我们填 steve 那么执行

SELECT author FROM book WHERE publisher= 'steve' and published =1

从 book 表中第一行提取每条publisher 列为 steve 值的记录 通过html表返回给浏览器
但是如果我输入一个
' or 1=1--
那么执行就变成

SELECT author FROM book WHERE publisher= '' or 1=1--' and published =1

–后被注释掉了,那么就相当于

SELECT author FROM book WHERE publisher= '' or 1=1

因此就可以把这个book表单中每一行中author的记录都返回来了,由于攻击者还把published=1 注释掉了,那么攻击者就越权访问了每一行

insert语句

还是通过例子来说
一个正常的业务让用户自我注册让他们指定自己的用户名和密码

INSERT INTO USERS (username,password ,id,privs)VALUES ( 'qwe','admin',2248,1)

假设username和password字段存在sql注入漏洞
那么攻击者可以在表中插入任何数据以及他们的id 和privs(代表权限1是正常用户,0是管理员用户)
在填username的时候如果我们这么填

admin','admin',9999,0)--

那么到sql处理的时候就变成了

INSERT INTO USERS (username,password ,id,privs)VALUES ( 'qwe','admin',9999,0)--qwe','admin',2248,1)

–后被注释掉了相当于执行了

INSERT INTO USERS (username,password ,id,privs)VALUES ( 'qwe','admin',9999,0)

那么相当于攻击者创建了一个id为9999和权限为管理员的账户
这里值得注意一下的是因为攻击者不知到总共有几个参数注入的时候就要试
以上面那个为例
需要试

qwe',1)--
qwe',1,1)--
qwe',1,1,1)--
...............此处省略

update 语句

比如一个更换密码的业务

UPDATE users SET password='newsecret' WHERE user ='qwe' and password='secret'

这个需要你输入用户名 和旧密码和新密码
如果你的用户名输入的是

admin'-- 

那么你就不需要知道管理员的密码就把管理员的密码给篡改了

delete 语句

举个例子删除 person表中姓为wilson的记录

DELETE FROM Person WHERE LastName = 'Wilson' 

给你的输入是lastname字段,如果输入的不是wilson而是

'or 1=1--

那么就相当于把整个person 表中所有的记录都删去了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值