社区
ASP
帖子详情
征集查询数据表的前20条记录之SQL语法大全.
bj100
2004-01-13 10:12:46
MS SQL :
select top 20 from A
Oracle :
select * from (select * from A) where rownum <= 20
SYBASE :
...........
其他的请各路高手来补充!
...全文
481
46
打赏
收藏
征集查询数据表的前20条记录之SQL语法大全.
MS SQL : select top 20 from A Oracle : select * from (select * from A) where rownum <= 20 SYBASE : ........... 其他的请各路高手来补充!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
46 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bj100
2004-01-18
打赏
举报
回复
请各路高手写出其他数据库的取top 20的sql语句呀!
不要老提MS SQL的撒,要上面没发过的呀!
过路的,也要帮顶哦!
cdsun
2004-01-17
打赏
举报
回复
select top * from table order by id desc
易寒
2004-01-17
打赏
举报
回复
再顶
bj100
2004-01-17
打赏
举报
回复
我顶!
maycy
2004-01-17
打赏
举报
回复
select top 20 from A
angel2a
2004-01-17
打赏
举报
回复
欧就晓得这个
select top 20 from A
TrueAndFalse
2004-01-17
打赏
举报
回复
八仙过海...学习ing
xieyj
2004-01-17
打赏
举报
回复
select top 20 * from table 最实用
xeimm
2004-01-17
打赏
举报
回复
mysql 也是类似的
aspnetxp
2004-01-17
打赏
举报
回复
搬个板凳坐下来好好听听...
aspnetxp
2004-01-17
打赏
举报
回复
up!
study!
bj100
2004-01-17
打赏
举报
回复
up!
yy007
2004-01-17
打赏
举报
回复
一个表里有多条相同记录,删除相同的只剩下一条记录
--delete fp1 where id in(select id from fp1 a where a.id>(select min(b.id) from fp1 b where a.fphm=b.fphm))
xiaofei7569
2004-01-16
打赏
举报
回复
select top 20 from A
bj100
2004-01-16
打赏
举报
回复
up
flying310
2004-01-16
打赏
举报
回复
top 20
loveweb
2004-01-16
打赏
举报
回复
up
bj100
2004-01-16
打赏
举报
回复
up!
songxuehui
2004-01-15
打赏
举报
回复
八仙过海各显其能
select top 20 * from table
就可以了
leeboyan
2004-01-15
打赏
举报
回复
sql:
1.select top 20 * from table1
2.在结果集中再找前20
select top 20 * from (select * from table1 where name like '%a') table1
3.增加标识列
alter table table1 add id int identity(1,1) not null
go
select top 20 * from table1 where id<=20
加载更多回复(26)
ASP.NET源码——新童谣
征集
活动网站系统.zip
ASP.NET源码——新童谣
征集
活动网站系统.zip
程序员题集历年
征集
都是近几年的 比较有用
是自己整理的历年的程序员题 有答案 比较齐全
ASP.NET-[其他类别]新童谣
征集
活动网站系统.zip
ASP.NET-[其他类别]新童谣
征集
活动网站系统.zip
Spatialv9.2详细讲稿
Spatialv9.2详细讲稿 实现Oracle数据库中空间特
征集
的存储、检索、修改、
查询
的一个用户模式和多个功能函数: 一个用户模式MDSYS:该模式规定了支持几何数据类型的存储方式、
语法
、语义; 两种空间索引机制; 一套操作和函数集:使用这些操作和函数完成空间
查询
、空间连接等空间分析操作; 管理工具集。
送强力打狗棒,文末领取
我一直想找一个通用性的过狗方法,预期是这个绕过方法不会涉及到下面3个方面 (1)中间件,如iis、apache (2)数据库,如my
sql
、
sql
server (3)脚本语言,如php、aspx、asp 网上关于安全狗的
sql
绕过研究,大多数是fuzz绕过的帖子,fuzz方法常常使用注释绕过,涉及到数据库特性,而且广泛用于注释
语法
的星号(*)可能会被网站自带的防恶意代码模块拦截了,在实践中体验不好。太多fuzz过waf的文章,多数是使用注释绕过,在我看来,所有fuzz绕过,本质就是正则匹配逃逸。 我计划写一篇脚本小子最爱的,涉及知识点最少,能直接放工具里全自动跑
sql
注入的过狗文章。 0x01 先说说安全狗是如何判断恶意代码 安全狗、云锁、D盾等软件waf,内置一套正则匹配检测规则。这类软件waf对恶意代码的认识很有限。例如安全狗iis版,只知道要防护的服务器是iis作为中间件,并不知道要防护的服务器上面部署的数据库类型[My
sql
|
Sql
Server|Access..]以及脚本语言类型[php|aspx|asp...]。再者,由于是依靠正则规则看恶意代码,所以对恶意代码拦截不全面。 0x02 起因 某天,在本地搭建了一个Asp+Access+IIS环境,测试安全狗Bypass 用淘气字符串就绕过了安全狗的拦截。由于只能用在某些
sql
语句上,具体是哪一个字符串就无足轻重了。第一次在本地环境测试安全狗就绕过了,刚好那天看到论坛在
征集
优秀文章,计划着写处女作投稿。 附上地址,虽然字符串数量不多,但是确实很淘气... https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns.txt 淘气字符串 我反复提交包含
sql
注入的数据包,Fuzz到了字符串[removed] 只有这一处,提示数据库报错了。那么,安全狗是分析到了什么?安全狗是用正则匹配看代码的,所看到,肯定不是一大串字符。反复删减,最终出来了 ///.js 0x03 绕过测试 ///.js js可以换成rm/wm/png/jpg等静态文件后缀 测试发现,只要url包含 ///.js 就会触发内置的白名单,直接被iis版安全狗放行。既然是触发白名单,我直接把http防护策略全部开启,把防护等级调到最高来测试效果。 http://192.168.29.131:8980/
sql
.php?id=1 and 1=1 (拦截) http://192.168.29.131:8980/
sql
.php?id=1 and 1=1&safe;=///.js? (放行) http://192.168.29.131:8980/
sql
.php/1.js?id=1 and 1=1 (放行) 触发白名单直接放行url,顺带放行了XSS攻击代码,连xss过狗代码也不用研究了,哈哈。 http://192.168.29.131:8980/
sql
.php?id=1 and 1=1&xss;=[removed]alert(/xss/)[removed]&safe;=///.js? (既有
sql
注入,又有xss攻击,放行) http://192.168.29.131:8980/
sql
.php?id=1 and 1=1&xss;=[removed] (很evil,也放行) 还能在url传输什么,放行恶意代码,脑洞... 不仅是放行url,连cookie位置也放行了。 但是当恶意代码放在post数据,就绕不过安全狗。 亲测,对于安全狗iis版,php,aspx,asp均能用这种方式过狗。 http://.../
sql
.php?safe=///.js?&id=1 http://.../
sql
.aspx?safe=///.js?&id=1 http://.../
sql
.asp?safe=///.js?&id=1 如果是Apache版安全狗,可以试试 http://.../
sql
.php/1.js?id=1 http://.../
sql
.aspx/1.js?id=1 备注:更新了图片,最新的iis版本,亲测,本文提供的两个方法 依然有效~~~ (思考花了一个星期,认认真真写稿也就两个晚上,8号的iis版已经更新了一次,然而漏洞依然存在,看来官方人员一直都不知道) 影响范围: 针对最新的安全狗iis版,从最右边开始匹配,存在某一个问号?附近的字符串满足正则表达式 \/.*?\/.*?\/.*?\.js(其中的js可以替换成如png、jpg等静态文件后缀)例如 ///.js?或http://ip/1.jpg? 就会触发内置白名单,无论数据库和脚本语言类型。触发白名单会放行url和cookie位置的恶意代码,但依然检查post的数据。 (Apache版的规则库不一样,手工测试出精简的字符串,但是url无效访问,所以Apache版的还只能按照http://.../
sql
.php/1.jpg?id=1触发白名单) 0x04 搜索公开技术贴 准备写稿了,防止遇到造轮子撞车,变换关键词,搜搜互联网最近半年的公开过狗技术帖。找到了一个造轮子的博客https://www.jianshu.com/p/507439c2dd94 看图。这个造轮子方法已经很普遍出现在各种BypassWaf文章里面。 我的观点:安全狗不认识什么是php,所以这个bypass没挖掘到绕过的本质。而且有些php网站不支持PATH_INFO特性。对问题本质的理解不一样,如果是思考如何触发安全狗的正则匹配规则,就能发现这个绕过方法可以推广到aspx和asp。 虽然方法很简单,发现了如何触发内置白名单,放行恶意代码,但是无法绕过恶意代码出现在post数据的情况。美中不足,思绪一度搁浅,因为我计划写一篇“脚本小子最爱,涉及知识点最少,能直接放工具里全自动跑
sql
注入的过狗文章”。 0x05 峰回路转 择日再度整理思路,翻看手里的资料。再次看到上次那个造轮子博客。看到0x04造轮子三个字,我在思考什么是造轮子?一味地造轮子本身没有错,错在看不到车子,不清楚什么轮子最适合,于是就有了四方形,三角形,椭圆形的轮子,同样都是能上路的轮子。我的思维跳跃到了那个经典的fuzz造轮子代码。曾经用这个代码Fuzz一个小时的我,就觉得fuzz代码对
sql
语句的理解不多,出现很多没必要的测试。 手工测试
sql
语句的经验告诉我,所有fuzz过狗payload本质都是正则匹配逃逸(包括特殊的截断),正则匹配逃逸的核心要点绝不是/××/注释。于是对造轮子作者的payload进行测试,发现最终有用的是#a (安全狗4.0) 所以说,注释绕过的是 # 配合 \n id=1 union select 1,2,3 (拦截) id=1 union# select 1,2,3 (拦截) id=1 union#a select 1,2,3 (放行) 原理:安全狗遇到注释符号 # 就会丢弃后边代码的检测。为了提防使用回车\n绕过正则过滤,只是拦截了# ,正则规则库没考虑到#+字符串+ 的情况,造成了BypassWaf 改写了个 tamper ,命名为Bypassdog40.py (成功测试了iis版安全狗4.0和apache版安全狗4.0) 核心代码只有一
条
,把所有空格替换为 #a if payload: retVal = re.sub(r"\s", r"#a ", payload) 执行
sql
map -u “http://192.168.29.131:8980/
sql
.php?id=1” -v 3 --random-agent --tamper=Bypassdog40.py 成功跑出所有
sql
注入payload 紧接着又测试注入点在post和cookie的情况,自动化注入过程很顺利。 补充:安全狗Apache3.5 规则刚好相反,拦截#a ,放行# ,命名tamper为 Bypassdog35.py 0x06总结 真理总是直接,甚至是简单的 本文包含了两个过狗方法: 一个是触发内置白名单的正则规则,能放行url和cookie的恶意代码检测,包括了xss攻击。美中不足就是绕不过post数据的恶意代码检查。 另一个Bypass方法是传统方法,提供了很简单的tamper,核心代码只有一句,可以用
sql
map跑自动化,大致可以通杀安全狗。遇到无法读数据库情况,例如拦截了INFORMATION_SCHEMA,可以配合触发内置白名单的方法,直接放行。 My
SQL
#单行注释 -- 单行注释(特别注意,-- 后有个空格!!!) /*多行注释*/ MS
SQL
Server -- 单行注释 /*多行注释*/ Oracle REM单行注释 -- 单行注释 /*多行注释*/ 新的两个tamper命名为Bypassdog400 和Bypassdog350 适用于 MS
SQL
Server和Oracle
ASP
28,407
社区成员
356,948
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章