1.SQL注入
sql就是数据库,像sql server,mysql,db2,postgresql,oracle等都是比较常见的数据库,可以通过构造数据库语句,也就是sql语句,进行增删该查操作。
SQL注入是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
2.产生SQL注入原因
动态网站是通过脚本语言去调用数据库从而完成整个网站的运作,,对网站进行操作时,只要是涉及数据库的操作都会带入数据库进行查询,若没有任何限制,则可以输入任意的查询语句带入数据库查询。
sql注入就是限制用户输入不严引起的,也就是过滤不严。
3.SQL注入分类
从参数类型可以分为:×××注入和字符型注入
从注入类型可以分为以下几类:
(1)基于错误的有显示位的注入
(2)基于错误的有数据库报错信息的注入
(3)基于错误的没有数据库报错信息的盲注
(4)基础时间的盲注
4.SQL注入经典流程
(1)判断Web系统使用的脚本语言,发现注入点,并确定是否存在SQL注入漏洞
(2)判断Web系统的数据库类型
(3)判断数据库中表及相应字段的结构
(4)构造注入语句,得到表中数据内容
(5)查找网站管理员后台,用得到的管理员账号和密码登录
(6)结合其他漏洞,想办法上传一个Webshell
(7)进一步提权,得到服务器的系统权限
5.判断SQL注入方法
(1)最常用的方式:直接在url后面输入and 1=1页面返回正常,and 1=2页面返回错误,或者是直接加单引号报错,则有可能存在sql注入;
(2)也可采用or或者xor来判断;
(3)在没有错误回显的情况下可以采用and sleep(1)来判断;
(4)也可采用数学计算,例如 id=2和id=3-1返回测界面一样,则有可能存在sql注入。
总体来说,输入的语句影响了数据库的查询结果,那么就极有可能存在sql注入。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。