今天我们看一幅数据库注入式攻击的漫画。
记得上大三那会儿,我们的老师还让我们用一条语句直接在学校官网,直接拿到学校所有录取的新生详细信息,我当时试了试,很多学校的官网都可以。不过方正教务系统攻击不进去,输入完了直接告诉我IP已经被记录。
好了,废话不多说,看漫画。
Paste_Image.png看漫画的上半部分。一个小男孩跑去给医生打了一针后开开心心的回去了。我称之为医生对小男孩进行了一次操作。
Paste_Image.png回家后,小男孩发现。我的桌子(table 又指表,传说中的老外的一语双关)没拉。为什么回去发现我的表没了呢?
Paste_Image.png仔细想想,医生打的那针可能不是普通的针,居然是一条SQL语句。
此处暗讽,在数据库操作中,我们直接将用户输入的数据进行拼装SQL语句,带来的安全性问题。
举个列子:
我们需要更新张三的分数。我们等待用户输入
如果程序没有实施类型强制,就会发生这种形式的注入攻击,例如:
UPDATE subject SET score= ? where name = 'zhang3'
如果成绩被恶意伪造为
100; DROP TABLE users #
此时SQL语句就会发生变化
UPDATE subject SET score= 100; DROP TABLE users; # where name = 'zhang3'
它会将“users”表从数据库中删除
谢谢大家阅读,如有帮助,来个喜欢或者关注吧!
本文作者:Anderson/Jerey_Jobs
博客地址 : 夏敏的博客/Anderson大码渣/Jerey_Jobs
简书地址 : Anderson大码渣
github地址 : Jerey_Jobs
网友评论