用户可以提交一段数据库查询代码, 根据程序返回的结果,获得某些他想得知的数据或进行数据库操作;
0x00 的危害与防御
SQL注入漏洞危害:
例如数据库被拖库,管理员和重要人员信息泄露,甚至还能通过SQL...注入
终止式SQL语句注入是指攻击者在注入SQL代码时,通过注释剩下的查询来成功结束该语句,被注释的查询不会被执行;
username = ‚' or ''='' --‚
password = ‚any...- 两个SELECT语句返回的数据库对应的列必须类型相同或兼容(字段类型一致)
- 通常只有终止式注入时,可较快猜解并利用,否则要知道原始的SQL语句才能比较方便的利用
如果应用返回第一个(原始)查询得到的数据...,那么通过在第一个查询后注入一个UNION运算符,并添加另一个任意查询,便可读取到数据库用户有权限访问的任何一张表 (主要需要进行测试占位符) 。...Union语句的构建
万能列类型:大部分数据库中NULL可兼容任何类型的数据,所有可使用NULL匹配数据表的列类型
确定列数量:使用union select null,null,null,…,null