漏洞挖掘与防范(基础篇)
原理:由于开发者在编写操作数据库代码时,直接将外部可控的参数拼接到SQL语句中,没有经过任何过滤就直接放入数据库引擎执行。
SQL注入经常出现在登陆页面,获取HTTP头,订单处理等地方,因为这些地方是业务想对复杂的,登陆页面的的注入现在来说大多是发生在HTTP头里面的client-ip和x-forward-for,一般用来记录登陆的ip地址,另外在订单系统里面,由于订单涉及购物车等多个交互,所以经常会发生二次注入。
直接通过注入union查询就可以查询数据库,普通注入有int型和string型,在string型注入中需要使用单或双引号闭合。
最常见的编码注入是MYSQL宽字节以及人类decode/rawurldecode函数导致的