先了解sql是什么
用于操控数据库的语言(结构化查询语言)
例如电影票房,都是从数据库中取出数据展示的
注入漏洞SQL
1.什么是SQL注入(也叫SQL注码)
SQL注入是一种常见的网络安全漏洞和攻击方式,它利用应用程序对用户输入数据的处理不当,使得攻击者能够在执行SQL查询时插入恶意的SQL代码。通过成功注入恶意代码,攻击者可以执行未经授权的数据库操作,获取敏感信息、篡改数据甚至完全破坏数据库
是一种将SQL语句插入或添加到应用的输入参数中的攻击
2.危害
数据库信息泄露:数据库中存放的用户隐私信息泄露
网页篡改:通过数据库对特定网页进行篡改等
3.怎么判断SQL
登录dvwa,初始账号密码为admin/password,把security设置为low
点击submit,打开SQL injection,输入1
出现三行文字,接着查看原码,划到最下面,点击view source
$id为输入的use id,退回injection界面尝试输入1'and 1=1#结果还是三行文字
1=1显然正确,#是为了注释掉后面的'; ,再输入1' and 1=2#反而什么都没有出现,证明1=1发挥了作用,这证明存在sql注入
4.如何利用sql注入
判断有几列用 1' order by 1#,判断有没有第一列,再依次尝试2,3,在试到第三列时候
不知道第三列,所以这个表只有两列
输入1' union select user,password from user#可获取账号密码