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

防止sql注入问题

发布网友 发布时间:2022-04-22 01:11

我来回答

7个回答

热心网友 时间:2022-04-07 22:45

ASP编程门槛很低,新手很容易上路。在一段不长的时间里,新手往往就已经能够编出看来比较完美的动态网站,在功能上,老手能做到的,新手也能够做到。那么新手与老手就没区别了吗?这里面区别可就大了,只不过外行人很难一眼就看出来罢了。在界面的友好性、运行性能以及网站的安全性方面是新手与老手之间区别的三个集中点。而在安全性方面,新手最容易忽略的问题就是SQL注入漏洞的问题。用NBSI
2.0对网上的一些ASP网站稍加扫描,就能发现许多ASP网站存在SQL注入漏洞,教育网里高校内部机构的一些网站这种漏洞就更普遍了,可能这是因为这些网站大都是一些学生做的缘故吧,虽然个个都很聪明,可是毕竟没有经验,而且处于学习中,难免漏洞多多了。本文主要讲讲SQL注入的防范措施,而要明白这些防范措施的用处,须先详细讲解利用SQL注入漏洞入侵的过程。新手们看明白啦。

相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。如这是一个正常的网址http://localhost/lawjia/show.asp?ID=444,将这个网址提交到服务器后,服务器将进行类似Select
* from 表名 where 字段="&ID的查询(ID即客户端提交的参数,本例是即444),再将查询结果返回给客户端,如果这里客户端故意提交这么一个网址:

http://localhost/lawjia/show.asp?ID=444 and user>0,这时,服务器运行Select * from 表名
where 字段=444 and user>0这样的查询,当然,这个语句是运行不下去的,肯定出错,错误信息如下:

·错误类型:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]将 nvarchar 值 'sonybb' 转换为数据类型为
int 的列时发生语法错误。
/lawjia/show.asp, 第 47 行

但是别有用心的人从这个出错信息中,可以获得以下信息:该站使用MS_SQL数据库,用ODBC连接,连接帐号名为:sonybb。所谓SQL注入(SQL
Injection),就是利用程序员对用户输入数据的合法性检测不严或不检测的特点,故意从客户端提交特殊的代码,从而收集程序及服务器的信息,从而获取想得到的资料。通常别有用心者的目标是获取网站管理员的帐号和密码。比如当某个人知道网站管理员帐号存在表login中,管理员帐号名为admin,他想知道管理员密码,这里他从客户端接着提交这样一个网址:
http://localhost/lawjia/show.asp?ID=444 and (Select password from login where
user_name='admin')>0,返回的出错信息如下:

·错误类型:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 '!@#*&admin' 转换为数据类型为
int 的列时发生语法错误。
/lawjia/show.asp, 第 47 行

你知道吗?上面标红的部分就是管理员帐号admin的密码!虽然很复杂,让人看几遍也记不住的,但它就这样显示在你面前了,这时您就可以用这个帐号和密码接管人家的网站了!这时你可能还会说,如果他不是事先知道管理员帐号存在表login中,而且知道管理员帐号为admin,那他就不可能获得管理员密码。你错了,只要人家愿意多花时间尝试,他将可以获得数据库连接帐号权限内所能获得的所有信息!

当然这个过程是很烦琐的而且要花费很多的时间,如果只能以这种手动方式进行SQL注入入侵的话,那么许多存在SQL注入漏洞的ASP网站会安全很多了,不是漏洞不存在了,而是利用这个漏洞入侵的成本太高了。但是如果利用专门的黑客工具来入侵的话,那情况就大大不同了。手动方式进行SQL注入入侵至少需要半天或一天乃至很多天的时间,而利用专门的工具来入侵就只需要几分钟时间了(视网速快慢决定),再利用获得的管理帐号和密码,上传一个从网上下载的ASP后门程序,就轻易获得整个网站的管理权限了,甚至整个服务器的管理权限。最有名的一种SQL注入入侵工具是NBSI
2.0,现在已经出到2.0版本了,不过,人家正式名称不叫SQL注入入侵工具,而叫做网站安全漏洞检测工具。有了这个所谓的检测工具,使得入侵存在SQL注入漏洞的ASP网站成了小儿科的游戏,那些既不懂ASP又不懂SQL、年纪小小的男性青年常常得以在一天之内入侵十多个ASP网站,他们以此获得内心的极大满足。他们似乎也非常讲究职业道德,往往并不破坏网站数据和系统,常见的破坏方式大都仅仅是改换掉网站的主页,留下"善意的警告",如:你的网站存在SQL注入漏洞,请管理员做好防范措施!并声明"我没有破坏数据和系统",有的还要借机发布一下他的倡导:"国内网站大家不要入侵,有本事入侵小日本的!",最后,签上他的鼎鼎大名是必不可少的程序。
不知那些没注意过SQL注入漏洞的ASP程序员们看了上面的例子,要作何感想呢?如果您的网站就这样被人不费吹灰之力入侵了,您是不是要吐几升血了呢?也许您已经为系统安全费尽心思了,装补丁、安防火墙、装杀毒软件、巧妙配置IIS及数据库用户权限,但您就是没有注意到SQL注入漏洞,于是"千里之堤,溃于蚁穴"。防火墙与杀毒软件对SQL注入是没办法防范的,因为SQL注入入侵跟普通的WEB页面访问没什么区别,所以往往是防不甚防。而且一个服务器上放置的网站往往是有很多个的,服务器管理员不可能挨个网站挨个页面的审查其是否存在SQL注入漏洞。那么应该如何防范SQL注入入侵呢?作为服务器管理员或网站程序员应该分别怎么做呢?服务器管理员要做的事主要是配置IIS和数据库用户权限,而网站程序员主要是要在程序代码编写上防范SQL注入入侵。下面详细叙述:

对于服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。这个绝招能有效防止SQL注入入侵而且"省心又省力,效果真好!"SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http
500错误,那么人家就没办法入侵了。具体设置请参看图2。主要把500:100这个错误的默认提示页面
C:\WINDOWS\Help\iisHelp\common\500-100.asp改成
C:\WINDOWS\Help\iisHelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。
但是这样设置一个不好的地方是程序员编写的代码出错时,服务器不给出详细的错误提示信息,会给程序员带来很大的不便。不过,服务器毕竟不是测试代码的地方,应坚持安全稳定第一,这样设置也是无可厚非的,事实上许多服务器的出错信息都是如此设置。

服务器管理员还应在IIS中为每个网站设置好执行权限,可千万别给人家静态网站以"脚本和可执行"权限。一般情况下给个"纯脚本"权限就够了,对于那些通过网站后台管理中心上传的文件存放的目录,就更吝啬一点吧,执行权限设为"无"好了,这样做是为了防止人家上传ASP木马,执行权限设为"无",人家上传ASP木马也运行不了。一般情况下,SQL注入漏洞仅是涉及一个网站安全的事,如果人家通过这个漏洞上传了ASP木马并运行起来,那整个服务器都失陷了。所以有远见的、有责任心的服务器管理员应该十分吝啬的配置IIS的执行权限。

同样的吝啬态度应适用于数据库用户的权限配置上,当然这里数据库是指MS_SQL啦,ACCESS都没有用户权限配置这一步骤。如果PUBLIC权限足够使用的绝不给再高的权限,可千万别把S*别的权限随随便便地给人家啊。那个所谓的网站安全漏洞检测工具NBSI
2.0可有跨库进行SQL注入的功能啊,如果你把SA权限给了存在SQL注入漏洞的库,那其它库就不保啦!城门失火,殃及池鱼呀。而人家还可以通过调用xp_cmdshell命令得到系统的最高权限。具体步骤还是请参看上面提到的那篇《SQL注入漏洞全接触》这篇文章吧。

接下来要讲讲程序员的防范措施了。程序主要要做两件事,最重要的一件事,当然是对客户端提交的变量参数进行仔细地检测啦。对客户端提交的变量进行检查以防止SQL注入,有各种方法,到http://community.csdn.net/上搜索一下,你能获得许多有益信息。这里介绍一种现成的方法,别人已经写好了检测代码,拿来用一下,不用自己辛苦啦。那就是"枫叶SQL通用防注入V1.0
ASP版",这是一段对用户通过网址提交过来的变量参数进行检查的代码,发现客户端提交的参数中有"exec、insert、select、delete、from、update、count、user、xp_cmdshell、add、net、Asc"等用于SQL注入的常用字符时,立即停止执行ASP并给出警告信息或转向出错页面。大家可以到网上搜索一下,下载这段代码,存为一个ASP页面,如checkSQL.asp,把这个页面include到每个需要带参数查询SQL数据库ASP页面中,记住,只要加一行这样的<!--#include
file="checkSQL.asp"-->代码就行了。

程序员要做的第二件事是给用户密码加密啦。比如用MD5加密。MD5是没有反向算法,不能解密的。人家即使知道经加密后存在数据库里的像乱码一样的密码,他也没办法知道原始密码了。不过,人家可以用UPDATE方法用他的密码代替你的密码,但这个操作还是有点麻烦,人家可能会怕麻烦而放弃。而那个所谓的网站安全漏洞检测工具NBSI
2.0是没有提供UPDATE操作功能的,所以用MD5加密后,人家仅用NBSI
2.0而不辅以手动操作的话,就不可能获得网站管理员帐号的密码,这将挡住许多菜鸟级的攻击者,至少那些既不懂ASP又不懂SQL、年纪小小的男性青年是没有办法啦!

文章写到这,已经够长了,本来还想对那些所谓的网站安全漏洞检测工具如NBSI之流的黑客工具进行一番理性的探讨的,看来还是放弃好了。为了增强网站安全,了解攻击手段是必须的,但是,利用漏洞开发专门的黑客工具,使那些其实并不具备必要的网络技术和网络安全知识的人(就是文中提到的"既不懂ASP又不懂SQL、年纪小小的男性青年")轻而易举地侵入一家网站,这除了为许多网络管理员制造麻烦外,是否还具有加强网络安全意识提高网络安全水平的功效呢?

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

跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。SQL注入的手法相当灵活,在注入的时候需要根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据.

SQL注入攻击的总体思路是:
1. 发现SQL注入位置;
2. 判断后台数据库类型;
3. 确定XP_CMDSHELL可执行情况
4. 发现WEB虚拟目录
5. 上传ASP木马;
6. 得到管理员权限;

一般来说,SQL注入一般存在于形如:http://xxx.xxx.xxx/abc.asp?id=XX等带有参数的ASP动态网页中,有时一个动态网页中可能只有一个参数,有时可能有N个参数,有时是整型参数,有时是字符串型参数,不能一概而论。总之只要是带有参数的动态网页且此网页访问了数据库,那么就有可能存在SQL注入。如果ASP程序员没有安全意识,不进行必要的字符过滤,存在SQL注入的可能性就非常大。
为了全面了解动态网页回答的信息,首选请调整IE的配置。把IE菜单-工具-Internet选项-高级-显示友好HTTP错误信息前面的勾去掉。

如过网站存在注入漏洞,黑客即可使用正常URL后面跟随入侵代码的方式执行任何操作,比如以下列出系统盘目录的命令:
http://xxx.xxx.xxx/abc.asp?p=YY;insert into temp(id)&nbs ... cmdshell ''dir c:\'';

为了防止注入攻击,最基本的方法是进行关键字过滤,现在推荐两种典型代码,可以全局调用或加在每个动态网页之中.

<%
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''ASP通用防注入代码
''您可以把该代码COPY到头文件中.也可以单独作
''为一个文件存在,每次调用使用
''作者:y3gu - 2005-7-29
''http://www.dosu.cn
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符)
Dim RequestKey Rem(提交数据)
Dim ForI Rem(循环标记)
ErrorSql = "''~;~and~(~)~exec~update~count~*~%~chr~mid
~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开)
ErrorSql = split(ErrorSql,"~")
If Request.ServerVariables("REQUEST_METHOD")="GET" Then
GetFlag=True
Else
GetFlag=False
End If
If GetFlag Then
For Each RequestKey In Request.QueryString
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.QueryString(RequestKey)),
ErrorSql(ForI))<>0 Then
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next
Else
For Each RequestKey In Request.Form
For ForI=0 To Ubound(ErrorSql)
If Instr(LCase(Request.Form(RequestKey)),
ErrorSql(ForI))<>0 Then
response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"
Response.End
End If
Next
Next
End If
%>

第二个

Function Checkstr(Str)
If Isnull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"", 1, -1, 1)
Str = Replace(Str, """", """, 1, -1, 1)
Str = Replace(Str,"<;","<;", 1, -1, 1)
Str = Replace(Str,">;",">;", 1, -1, 1)
Str = Replace(Str, "script", "script", 1, -1, 0)
Str = Replace(Str, "SCRIPT", "SCRIPT", 1, -1, 0)
Str = Replace(Str, "Script", "Script", 1, -1, 0)
Str = Replace(Str, "script", "Script", 1, -1, 1)
Str = Replace(Str, "object", "object", 1, -1, 0)
Str = Replace(Str, "OBJECT", "OBJECT", 1, -1, 0)
Str = Replace(Str, "Object", "Object", 1, -1, 0)
Str = Replace(Str, "object", "Object", 1, -1, 1)
Str = Replace(Str, "applet", "applet", 1, -1, 0)
Str = Replace(Str, "APPLET", "APPLET", 1, -1, 0)
Str = Replace(Str, "Applet", "Applet", 1, -1, 0)
Str = Replace(Str, "applet", "Applet", 1, -1, 1)
Str = Replace(Str, "[", "[")
Str = Replace(Str, "]", "]")
Str = Replace(Str, """", "", 1, -1, 1)
Str = Replace(Str, "=", "=", 1, -1, 1)
Str = Replace(Str, "’", "’’", 1, -1, 1)
Str = Replace(Str, "select", "select", 1, -1, 1)
Str = Replace(Str, "execute", "execute", 1, -1, 1)
Str = Replace(Str, "exec", "exec", 1, -1, 1)
Str = Replace(Str, "join", "join", 1, -1, 1)
Str = Replace(Str, "union", "union", 1, -1, 1)
Str = Replace(Str, "where", "where", 1, -1, 1)
Str = Replace(Str, "insert", "insert", 1, -1, 1)
Str = Replace(Str, "delete", "delete", 1, -1, 1)
Str = Replace(Str, "update", "update", 1, -1, 1)
Str = Replace(Str, "like", "like", 1, -1, 1)
Str = Replace(Str, "drop", "drop", 1, -1, 1)
Str = Replace(Str, "create", "create", 1, -1, 1)
Str = Replace(Str, "rename", "rename", 1, -1, 1)
Str = Replace(Str, "count", "count", 1, -1, 1)
Str = Replace(Str, "chr", "chr", 1, -1, 1)
Str = Replace(Str, "mid", "mid", 1, -1, 1)
Str = Replace(Str, "truncate", "truncate", 1, -1, 1)
Str = Replace(Str, "nchar", "nchar", 1, -1, 1)
Str = Replace(Str, "char", "char", 1, -1, 1)
Str = Replace(Str, "alter", "alter", 1, -1, 1)
Str = Replace(Str, "cast", "cast", 1, -1, 1)
Str = Replace(Str, "exists", "exists", 1, -1, 1)
Str = Replace(Str,Chr(13),"<;br>;", 1, -1, 1)
CheckStr = Replace(Str,"’","’’", 1, -1, 1)
End Function

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

其实六楼说的已经很清楚了!所谓的防注都是这样处理的!其实这里还有一个特点,只要你支持SQL语句支持,就一定会有注入,看你的防注手段高还是注入手法精巧了!

但不妨换一个方法进行思考,如果不用SQL语句,一般的注入就很难实现了!如果你的整站都是用的存储过程进行存取资料的情况下,把所有的SQL语句都封装在SQL服务上,而进行注入的所有东西都作为文本处理,这时其注入下手就有点难度了!如果对方想注入的话,还要猜你的存储过程,这样就很有趣了,我相信没有人有这样耐心的!

这种情况下,我想只在对参数作一些常规性的处理,应该可以防止大部分的SQL注入操作。否则只有六楼的过滤还是比较全的!但也不能保证SQL不发生注入!

热心网友 时间:2022-04-08 03:29

<%
dim sql_injdata,SQL_inj,SQL_Get,SQL_Data,Sql_Post
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")

If Request.QueryString<>"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language='javascript'>alert('SQL通用防注入系统提示:请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"
Response.end
end if
next
Next
End If

If Request.Form<>"" Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
Response.Write "<Script Language='javascript'>alert('SQL通用防注入系统提示:请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"
Response.end
end if
next
next
end if
%>

热心网友 时间:2022-04-08 05:37

不能, 使用php or asp? mysql 吗?

参考
$id = mysql_real_escape_string($_POST['id']);
$SQL = "SELECT * FROM myTable WHERE postID = '".$id."'";

热心网友 时间:2022-04-08 08:02

不能

热心网友 时间:2022-04-08 13:41

加个通用的asp防注。
如何防止sql注入

1.使用参数化查询或预编译语句。这种方法是预防SQL注入最有效的手段之一。在应用程序中,使用参数化查询可以避免直接将用户输入嵌入到SQL语句中,从而防止攻击者通过输入恶意代码来操纵SQL语句的结构。预编译语句也具备类似的功能,可以确保数据在传输到数据库之前已经过适当处理,不易被篡改。因此开发者应避免...

如何能防止sql注入

1. 严格区分普通用户和系统管理员用户的权限。普通用户不应具备创建或删除数据库对象的能力。2. 强制使用参数化语句。避免将用户输入直接嵌入SQL语句,而是通过参数传递,以防止SQL注入攻击。3. 利用数据库引擎提供的参数安全功能。例如,在SQL Server中使用Parameters集合,它可以提供类型检查和长度验证,防止...

防止sql注入有哪几种方法?怎么防止sql注入

首先,使用预编译语句(PreparedStatement)是避免SQL注入的高效方法。预编译语句不仅提高了查询性能,还内置了对抗SQL注入的机制,确保了输入数据安全。在使用Hibernate框架时,采用name:parameter方式查询,如利用find方法执行SQL查询,同样能有效防止SQL注入。在编写查询方法时,应先检查SQL语句,去除或转换可能...

django怎么预防sql注入(djangoadminsql注入)

一般来说写SQL语句在程序中,若有where条件一般都可能会去直接拼接,到那时这种方式容易被SQL注入,首先说明下什么是SQL的注入,简单来说就是你写的SQL被别人在页面上拼接了SQL。比如拼接1=1这种条件,如果登录接口被注入1=1那么就可以随意进入你的程序了。所以才要防止SQL的注入。下面再来看看防止SQL的...

URL编码防止sql注入

曾经有人尝试利用数据库名称中的井号“#”来防止下载,因为IE会忽略#后的字符,但这种方法很容易被破解,只需用url编码%23替代#。然而,SQL注入问题如今非常普遍,开发者为此编写了防注入脚本。以下是一个××SQL通用防注入asp版本的部分代码:= Request.ServerVariables("QUERY_STRING")= split(Fy_Url,...

什么是sql注入,怎么防止注入?

防止sql注入,可以在接受不安全空间的内容时过滤掉接受字符串内的“'”,那么他不再是一条sql语句,而是一个类似sql语句的zifuc,执行后也不会对数据库有破坏。如:---下面这一段是找的username = request("username") //获取用户名 这里是通过URL传值获取的password = request("password") //获...

sql注入漏洞解决方法

使用参数化查询、特殊字符。1、使用参数化查询:参数化查询是防止SQL注入的最佳实践,所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。2、特殊字符:对进入数据库的特殊字符进行转义处理,或编码转换。

针对sql注入攻击,有哪些防范措施

SQL注入攻击前,入侵者通过修改参数提交and等特殊字符,判断是否存在漏洞,然后通过select、update等各种字符编写SQL注入语句。因此防范SQL注入要对用户输入进行检查,确保数据输入的安全性,在具体检查输入或提交的变量时,对于单引号、双引号、冒号等字符进行转换或者过滤,从而有效防止SQL注入。当然危险字符有...

sql注入如何防止

为了防止SQL注入,用户输入不能直接嵌入到SQL语句中。相反,用户输入必须被过滤或参数化。参数语句使用参数,而不是将用户输入嵌入语句中。在大多数情况下,SQL语句是正确的。然后,用户输入仅限于一个参数。一般来说,有两种方法可以确保应用程序不易受到SQL注入攻击。一种是使用代码审查,另一种是强制...

预编译为什么可以防止sql注入

再一个优势就是预防SQL注入,严格的说,应该是预防绝大多数的SQL注入。用法就是如下边所示:String sql="update cz_zj_directpayment dp"+ "set dp.projectid = ? where dp.payid= ?";try {PreparedStatement pset_f = conn.prepareStatement(sql);pset_f.setString(1,inds[j]);pset_f.set...

mysql防止sql注入php sql防止注入 预编译防止sql注入 防止sql注入原理 防止sql注入漏洞 如何防止sql注入攻击 如何防sql注入 sql防注入的方法 sql注入防御
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
胆囊切除对身体有什么影响? 胆囊切除后,对身体少有影响吗? 胆囊切除了以后对身体的健康有没有影响? 新房多久能办到产证 新房产证办理周期需要多长时间 丝状疣怎么感染的,怎么突然间上眼皮会长出 办新房房产证要多久 申请新房产证需要多少时间 新房办理房产证要多久 新房产证办理多久? 怎么进苹果中国官网? 为什么会得疣 中国尼姑庵有哪些 在用nbsi damain3.5 啊D 检测之后还是没有漏洞 ... 网站漏洞如何利用? 扫描网站漏洞的工具 谁能给我一个NBSI注入工具的教程 如何找到网站的注入点? 请教大家如何解决网站SQL注入漏洞,目录遍历漏洞?谢谢! 网站漏洞,网页漏洞 &quot;急救,急救,急救,急救“ 还有没有什么其他的网站漏洞检测工具呢? 惠普笔记本玩cf怎么弄全屏 是这样吗 HP电脑玩游戏怎么把半屏变成全屏 惠普笔记本电脑玩cf 怎么设置全屏,求解 惠普笔记本怎么设置游戏全屏? 惠普23寸显示器不能全屏显示 惠普电脑玩游戏不能全屏 15。6寸,惠普CQ6。CF怎么设置全屏 惠普笔记本的怎样全屏 惠普笔记本是15.6的屏幕 玩游戏不能全屏怎么办 惠普的笔记本电脑按什么键可以切换到大屏幕上? 惠普电脑玩游戏不能全屏怎么办? 惠普笔记本玩游戏如何全屏 防护网络安全该怎么做? 扫描网站漏洞的工具有那些(是网站漏洞,不要给我... 请教啊D注入工具和NBSI漏洞扫描工具 攻击网站 软件测试,如何测试网站的安全性呢 求一个有sql注入漏洞的mssql的网站源码。 SQL注入漏洞的判断 php源码漏洞多少钱 前端里面的BFC是什么? 在中国国家博物馆中,哪些文物是非常宝贵的? 国家博物馆有哪些展厅 国家博物馆的四大镇馆之宝是什么? 国家博物馆的十大镇馆之宝陈列在哪? 中国国家博物馆十大镇馆之宝都有哪些? 国家博物馆里为何会珍藏着一块泥土? 国家博物馆的十大镇馆之宝是什么? 国家博物馆内客介绍 有哪些是在中国国家博物馆必看的藏品? 中国国家博物馆里的文物是真的吗 我们到国家博物馆去参观应该注意哪些?