问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求教~谁给讲讲SQL注入别的的步骤

发布网友 发布时间:2022-04-23 06:28

我来回答

3个回答

热心网友 时间:2022-04-07 23:01

一、SQL注入漏洞的判断
一般来说,SQL注入一般存在于带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。

为了全面了解动态网页回答的信息,首选请调整IE的配置。把IE菜单-工具-Internet选项-高级-显示友好HTTP错误信息前面的勾去掉。

2、字符串型参数的判断

当输入的参数YY为字符串时,通常abc.asp中SQL语句原貌大致如下:
select * from 表名 where 字段='YY',所以可以用以下步骤测试SQL注入是否存在。

①YY’(附加一个单引号),此时abc.ASP中的SQL语句变成了
select * from 表名 where 字段=YY’,abc.asp运行异常;
②YY&;nb ... 39;1'='1', abc.asp运行正常,而且与YY运行结果相同;
③YY&;nb ... 39;1'='2', abc.asp运行异常;
如果以上三步全面满足,abc.asp中一定存在SQL注入漏洞。

3、特殊情况的处理

有时ASP程序员会在程序员过滤掉单引号等字符,以防止SQL注入。此时可以用以下几种方法试一试。
①大小定混合法:由于VBS并不区分大小写,而程序员在过滤时通常要么全部过滤大写字符串,要么全部过滤小写字符串,而大小写混合往往会被忽视。如用SelecT代替select,SELECT等;
②UNICODE法:在IIS中,以UNICODE字符集实现国际化,我们完全可以IE中输入的字符串化成UNICODE字符串进行输入。如+ =%2B,空格=%20 等;URLEncode信息参见附件一;
③ASCII码法:可以把输入的部分或全部字符全部用ASCII码代替,如U=chr(85),a=chr(97)等,ASCII信息参见附件二;

二、分析数据库服务器类型

一般来说,ACCESS与SQL-SERVER是最常用的数据库服务器,尽管它们都支持T-SQL标准,但还有不同之处,而且不同的数据库有不同的攻击方法,必须要区别对待。

1、 利用数据库服务器的系统变量进行区分
SQL-SERVER有user,db_name()等系统变量,利用这些系统值不仅可以判断SQL-SERVER,而且还可以得到大量有用信息。

2、利用系统表
ACCESS的系统表是msysobjects,且在WEB环境下没有访问权限,而SQL-SERVER的系统表是sysobjects,在WEB环境下有访问权限。

3、 MSSQL三个关键系统表
sysdatabases系统表:Microsoft SQL Server 上的每个数据库在表中占一行。最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。 这个表保存在master数据库中,这个表中保存的是什么信息呢?这个非常重要。他是 保存了所有的库名,以及库的ID和一些相关信息。
这里我把对于我们有用的字段名称和相关说明给大家列出来。name //表示库的名字。
dbid //表示库的ID,dbid从1到5是系统的。分别是:master、model、msdb、mssqlweb、tempdb 这五个库。用select * from master.dbo.sysdatabases 就可以查询出所有的库名。

Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。

syscolumns:每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。主要字段有:
name ,id, colid :分别是字段名称,表ID号,字段ID号,其中的 ID 是 刚上我们用sysobjects得到的表的ID号。
用: select * from ChouYFD.dbo.syscolumns where id=123456789 得到ChouYFD这个库中,表的ID是123456789中的所有字段列表。

热心网友 时间:2022-04-08 00:19

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

热心网友 时间:2022-04-08 01:54

这个太专业了吧,谁知道呢
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
民事公告送达期限是多长时间 有没有能在平板上可以下载生活大爆炸的资源,或播放器离线观看? 生活大爆炸1-8季完整版 115网盘 百度云都可以 谢了 D:\My Documents\My Pictures\d16ea14552a02519cffca397.jpg这个韩国女... 安阳市从三角湖到北晨家园坐几路公交车 安阳北辰家园附近到郑州的物流? 从安阳文化宫到北城家园坐几路公交 让子弹飞现在票房多少了?拿国产第一了吗? 疯狂猜成语第24关 一把刀和一个斧头 前男友要见回前女友,但是他说只是当她是朋友而已,但是有一件事情就 打开CS_007,然后进入CS1.6,却显示错误:unable to inject dll into target,是什么 打开CS_007,然后进入CS1.6,却显示错误:unable to inject dll into target,是什么 为什么通过配置文件为构造函数函数传参显示错误 为什么通过配置文件为构造函数函数传参显示错误 sql注入 ;附近有语法错误 sql注入 ;附近有语法错误 开SXE进游戏 ( CS1.6 )提示 注入游戏错误SXE Injected 关闭,请高手指点下 开SXE进游戏 ( CS1.6 )提示 注入游戏错误SXE Injected 关闭,请高手指点下 不显示错误信息能防止sql 注入吗 不显示错误信息能防止sql 注入吗 ASP英文单词防SQL注入问题,请教各位 ASP英文单词防SQL注入问题,请教各位 刚才的问题怎么给失效了。。。继续求大神,谢谢了, SqlServer2005显示被黑客sql注入,现在打登陆不上去 如何在PHP中阻止SQL注入? 如何在PHP中阻止SQL注入? COOKIES注入中 IIS显示404错误 SQL注入攻击的种类有哪些 什么是网站注入 cs1.6安装新的SXE4.2后出现注入游戏错误 请问一下网站注入点是什么意思,注入点是根据什么检验的 求教~谁给讲讲SQL注入别的的步骤 惠普打印机黑色墨盒已加墨水,为何显示墨水不足 柠檬的最佳储存方法 海螺如何保鲜? 大海螺买回来想明天吃该怎么放? 朋友给了好多新鲜柠檬怎么保存 海螺怎么储存? 海螺保存时间? 哪种洗发露能止 脱? 头发少、掉发严重有什么好用洗发水推荐? 哪种洗发露止脱效果好? 脱发用什么洗发水? 饿了么骑手为了讨薪选择点火自伤!遇到此类情况该如何正确维权? 哪种洗发水能防止掉发呢? 什么洗发水是防脱发,生发效果好的 哪种洗发水止脱生发效果好? 请问用哪种洗发水能止脱生发? 脱发用什么洗发水能止脱? 阳澄湖大闸蟹要怎么清洗? 简析怎么清洗阳澄湖大闸蟹最干净