SQL注入:select与注入逻辑
语法报错逻辑
注入字符的报错
尝试利用单引号或双引号来对原有sql语句进行闭合,通过显示的报错来推测闭合是否成功。
原理:开发者对报错信息未处理,如果sql语句错误,那么将在页面显示报错。
判断select查询的字段个数
#原理(如果该排序字段存在,那么结果显示正常,否则网页结果显示异常;根据网页的显示是否正常,判断该位置字段是否存在)
mysql> select * from tableName order by 1|2|3|4 ... ;
空集逻辑
#正常逻辑语句
variable=value
mysql databaseName -e "select * from tableName where columnName='$variable'"
#注入语句内容
variable=' or '0'='9
mysql databaseName -e "select * from tableName where columnName='$variable'"
#带入结果
mysql databaseName -e "select * from tableName where columnName='' or '0'='9'"
全集逻辑
#将variable=' or '0'='9 换成 variable=' or '0'='0
mysql databaseName -e "select * from tableName where columnName='' or '0'='0'"

浙公网安备 33010602011771号