什么是sql注入
SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为 称为SQL注入。
代码对带入SQL语句的参数过滤不严格
未启用框架的安全配置,例如: PHP的magic. quotes. _gpc
未使用框架安全的查询方法
测试接未删除
未启用防火墙
未使用其他的安全防护设备
字符型注入类型1
打开页面,叫我们输入ID作为带数值的参数
Mysql查询经常用到的语句
查库:select schema_name from information_schema.schemata
查表:select table_name from information_schema.tables where table_schema=库名
查列:select column_name from information_schema.columns where table_name=表名
查数据:select 列名 from 库名.表名
sql注入简单三步骤
第一:输入ID的值使页面不发生变化
第二:输入一些特殊字符使得页面报错
第三:要让页面不报错
这里我们使用火狐插件hackbar来做,方便好看些
第一步输入ID值 ?id=1是输入的值,页面出现了变化
第二步输入一些字符使得页面报错 这里输入’页面报错
可能对初学者来说,看不出什么方式,我们再输入多一点的东西来看看
22’ 前面有个单引号,后面还有个单引号,这里我们可以发现,是个单引号的闭合方式
第三部:我们要使页面不报错
可以加一些注释付 %23 --+ #
页面不报错时可以使查询字段,使用order by