2018Web攻防训练营SQL注入的原理1.SQL注入的原因2.登录案例讲解3.CMSSQL注入讲解4.Sqlmap基本使用课程内容01SQL注入的原因语言分类:解释型语言和编译型语言。解释型语言是一种在运行时由一个运行时组件解释语言代码并执行其中包含的指令的语言。而编译型语言是代码在生成时转换为机器指令,然后在运行时直接由使用该语言的计算机执行这些指令。在解释型语言中,如果程序与用户进行交互。用户就可以构造特殊的输入来拼接到程序中执行,从而使得程序依据用户输入执行有可能存在恶意行为的代码。例如:在与用户交互的程序中,用户的输入拼接到SQL语句中,执行了与原定计划不同的行为,从而产生了SQL注入漏洞。02登录案例讲解登录SQL语句:select*fromadminwhereusername='用户输入的用户名'andpassword='用户输入的密码'用户输入的内容可由用户自行控制,例如可以输入'or1=1--空格SQL语句:select*fromadminwhereusername=''or1=1--'andpassword='用户输入的密码'其中or1=1永远为真,--注释后边内容不再执行,因此SQL语句执行会返回admin表中的所有内容。返回Whois信息Burpsuite万能密码测试案例演示03CMSSQL注入讲解CMS逻辑:index.php首页展示内容,具有文章列表(链接具有文章id)、articles.php文章详细页,URL中article.php?id=文章id读取id文章。SQL注入验证:1、单引号'2、and1=13、and1=2如果页面中Mysql报错,证明该页面存在SQL注入漏洞。04Sqlmap基本使用Sqlmap是检测和利用SQL注入漏洞的一款强大工具。演示登录注入演示CMS注入1.SQL注入的原因2.登录案例讲解3.CMSSQL注入讲解4.Sqlmap基本使用总结再见欢迎关注Web安全训练营课程