返回列表 发帖

[讨论]关于“SQL注入Access导出WebShell”的疑惑

[讨论]关于“SQL注入Access导出WebShell”的疑惑
议题作者:mika
信息来源:邪恶八进制信息安全团队(www.eviloctal.com


最近又重新翻看一下老文章,看到这个文章的时候心里一亮,如果这个东西真的能用,那么可以很大程度上解决access注入的缺陷(只要知道表名,不需要再猜字段名就可以直接查看数据了),于是在本地建了一个mdb数据库,然后测试,结果非常顺利,无论是导出到本地还是远程都不成问题。但是当我把它放入注入点后,却发现了问题。

假设注入点的sql查询是这样的:

"select name from articles where id=" & request("id")

假设提交的id为5,那么查询语句应该是这样的:

select name from articles where id=5

那么注射语句怎么构造呢?
我先测试了子查询,把id换成:5 and (select * into [admin.txt] in 'd:\abc\' 'text;' from admin)>0,于是整条语句就成了这样:
select name from articles where id=5 and (select * into [admin.txt] in 'd:\abc\' 'text;' from admin)>0
执行,却提示“子查询中不允许此操作”。

看样子子查询是白搭了,于是想到了联合查询,那么把id换成:5 union select * into [admin.txt] in 'd:\abc\' 'text;' from admin,整条语句就变成了:
select name from articles where id=5 union select * into [admin.txt] in 'd:\abc\' 'text;' from admin
执行后,提示“动作查询不能作为行的来源”。

我实在是不知道问题出在哪,既然那篇文章说了sql注入导出文本文件,那么子查询不行,联合查询也不行(有可能是我的错,但我不知道错在哪)。我不知道还能用什么方式?
纳闷中。。。[s:270]我的部落格:http://www.mikwawa.cn/
帖子171 精华16 积分4223 阅读权限200 性别女 在线时间344 小时 注册时间2006-7-7 最后登录2008-7-4 查看详细资料TOP 软件项目外包


wyzhack
晶莹剔透§烈日灼然

返回列表