A. 请问网页代码产生sql注入的原理
SQL注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。这是定义,从应用来讲就是没有对用户输入的特定数据进行过滤或筛选,也就是没有对用户输入的数据合法性进行判断;又或者对程序中本身的变量处理不当,造成安全隐患。就这样,一些夹杂在用户提交的数据中的特定字符或字符串被放进动态构造的sql命令提交给数据库服务器进行执行,当执行后返回结果中会包含一些数据库中用户的信息。措施呢你可以参见如下链接:
B. 什么是注入那些可以注入需要什么条件
所谓的SQL(结构化查询语言)注入,简单来说就是利用SQL语句在外部对SQL数据库进行查询,更新等动作。首先,数据库作为一个网站最重要的组件之一(如果这个网站有数据库的话),里面是储存着各种各样的内容,包括管理员的账号密码,
随着B/S模式应用开发的发展,使用该模式编写程序的程序员越来越来越多,但是由于程序员的水平参差不齐,相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知的数据,这个就是所谓的SQLinjection,即sql注入式攻击。
脚本注入攻击者把SQL命令插入到WEB表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令,在某些表单中,用户输入的内容直接用来构造动态的SQL命令,或作为存储过程的输入参数,从而获取想得到的密码或其它服务器上的资料。
注入原理:
网站的配备内容等,一旦里面的数据被某人获得或者是被修改,那么那个人就可能获得整个网站的控制权。至于怎么获得这些数据,那些MSSQL弱口令的就不说,剩下的最有可能就是利用注入漏洞。
当用户在网站外部提交一个参数进入数据库处理,然后把处理后的结果发给用户,这个是动态网页最常见的,但是这个参数一旦没有被过滤,使得我们自己构造的sql语句也可以和参数一起参与数据库操作的,那么SQL注入漏洞就会产生
一个网站上存在外地数据提交是很正常的,一般都是用参数接受(request),然后再进行处理,而涉及于数据库操作的却占了很大的一部分。例如下面的例子
这个地址包含了参数1,以及传递该参数的变量cs,意思就是,的文件夹里有一个1.asp文件,1.asp文件内部存在cs变量,作用就是接受有外部提交的一个参数:1,也可以是其他的,那么在1.ASP这个文件里的相关代码一般
就是这样
C. 网站脚本被注入恶意代码
应该是被黑客挂马了,例如下面这个网址,我临时抓的webshell http://www.wjmz.cn/wjmz2008/new_page_2.asp 黑客肯定是找到了你的网站有漏洞,才拿到webshell的,然后选择批量挂马,每个文件就有了你说的那种格式,不过一般都是iframe只要你和做网站的人说一下 让他帮你吧网站程序修复一下就好了,你和他说,他一定知道的
D. 如何把lua脚本注入到魔兽世界
把lua脚本注入到魔兽世界:
Lua脚本在魔兽世界里的应用不仅限于做宏,做脚本宏,其本质就是编程,只不过在编以魔兽世界为平台和限制的程序,所以要想做出好的脚本宏,根本问题就是建立和提高编程的思维,魔兽世界脚本的限制很大。
在魔兽世界lua的脚本宏中,是用/script [宏语句]来执行宏的,在下面的代码中,就不写整个宏(一个一个在前面加/script)了,直接把宏语句写出来。
赋值语句,在lua编程中,一切都是在处理变量,要定义变量并指定这个变量的值,这个指定变量的值的过程叫做赋值。
[变量名]=[值]这个语句的作用是把变量的值变成[值],如a=1就是把变量a的值指定为1。
[变量名1],[变量名2],[变量名3]……[变量名n]=[值1],[值2],[值3]……[值n]。这个语句相当于[变量名1]=[值1],[变量名2]=[值2],[变量名3]=[值3],[变量名n]=[值n]。比如a,b,c,d,e=14,20,93,61,0相当于a=14,b=20,c=93,d=61,e=0。
条件判断语句,也就是如果什么什么条件成立,就做什么什么事,甚至是否则做什么事。
if [做这件事的条件] then
[要做的事]
end
即如果[做这件事的条件]成立则做[要做的事]
还可以加一个else表示否则做什么事:
if [做这件事的条件] then
[要做的事]
else
[否则做的事]
end
即如果[做这件事的条件]成立则做[要做的事],否则做[否则做的事]
有时需要根据多种情况决定如何做,就会用到elseif:
if [做A事的条件] then
[A事]
elseif [做B事的条件] then
[B事]
else
[否则做的事]
end
E. 如何在WebBrowser控件中注入Javascript脚本
在WebBrowser中注入并执行javascript代码
更多 0
c#WebBrowserWinForm
WebBrowser控件用来显示网页内容,有时候我们需要在网页中执行一段自定义的javascript代码。
如下是实现和注释:
//找到head元素
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
//创建script标签
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
//给script标签加js内容
element.text = "function sayHello() { alert('hello') }";
//将script标签添加到head标签中
head.AppendChild(scriptEl);
//执行js代码
webBrowser1.Document.InvokeScript("sayHello");
F. 网页简本注入,执行任意脚本代码方法。
《网页自动提交监控工具》有一个简本管理功能,可实现删除网页原有简本代码,注入自定义脚本代码,执行任意脚本函数,给简本代码中任意变量复制等,尤其适用于突破网页本地脚本限制和验证
G. VC++ 如何执行脚本
1. 导入库 ,该指令一般加在 stdafx.h 中
#import "msscript.ocx" no_namespace
2. 创建脚本对象//脚本引擎IScriptControlPtr m_pScript;
m_pScript.CreateInstance(__uuidof(ScriptControl));
m_pScript-Timeout = 1000 * nTimeout;//超时设置
m_pScript-PutAllowUI( VARIANT_FALSE );
m_pScript-PutLanguage( _bstr_t(_T("JScript")) );
3. 读取脚本文件
wstring js = read_file("c:/1.js");//read_file 函数此处略去
4. 增加代码并执行//增加代码m_pScript-AddCode( _bstr_t(js.c_str()));
//执行代码(1.js 中有 main 函数)
m_pScript-(_bstr_t(_T("main()")));
至于脚本和VC的交互,可以通过创建 com 组件来实现,在 vc 工程中,增加一个 com 组件,比如 IVREngine,然后添加方法,在执行脚本前,把该对象增加到脚本引擎中,代码如下://辅助对象CComPtr<IIVREnginepIVREngine;
pIVREngine.CoCreateInstance(__uuidof(IVREngine));
m_pScript-AddObject( _bstr_t("IVR"), pIVREngine, VARIANT_TRUE );
这时,在脚本(1.js)中,就可以直接调用 IIVREngine 提供的方法了,比如 IVR.PlayFile("c:/1.wav");注意已有相应的类CScriptObject
BOOL CScriptDemoApp::InitInstance(){// Initialize COM
H. 谁能给我个脚本代源码注入工具!!
呵…要这个做什么呢??…给你一个ASP+SQL的存储过程的应用事例先看下面一段代码:
'声明与 sql 谈话时使用的变量
Dim oServer ' SQL Server 对象
Dim oDatabase ' 要使用的目标数据库
Dim oBCP ' BCP 对象
Dim nRows ' 从 bcp 返回的行数
dim table ' 表对象
on error resume next
' 第一个参数必须是数据库
if WScript.Arguments(0) = "" then
WScript.Echo "您没有提供要连接的数据库"
WScript.Quit
end if
' 创建 SQL DMO 的实例
Set oServer = CreateObject("SQLDMO.SQLServer")
' 创建 SQL DMO Bulk 对象的实例
Set oBCP = CreateObject("SQLDMO.BulkCopy")
oServer.EnableBcp = True
' 登录到本地服务器
' 希望您已经更改了 sa 口令!!
oServer.Connect ".", "sa"
' 连接到提供的数据库
Set oDatabase = oServer.Databases(Wscript.Arguments(0))
' 将分隔符设置为逗号
oBCP.ColumnDelimiter = vbComma
' 将文件类型设置为以逗号分隔
oBCP.DataFileType = SQLDMODataFile_CommaDelimitedChar
oBCP.ImportRowsPerBatch = 1000
oBCP.MaximumErrorsBeforeAbort = 1
BCP.RowDelimiter = vbCrLf
oBCP.ServerBCPDataFileType = SQLDMOBCPDataFile_Char
oBCP.UseExistingConnection = True
' 如果未提供表,则转储所有的表
f wscript.Arguments(1) = "" then
for each table in oDatabase.tables
' 确保该表不是系统表
if table.systemobject = false then
oBCP.DataFilePath = table.name & ".csv"
nRows = table.ExportData(oBCP)
wscript.Echo nRows & " rows exported from " & table.name
end if
next
else
' 设置输出文件
oBCP.DataFilePath = wscript.Arguments(1) & ".csv"
nRows = oDatabase.Tables(wscript.arguments(1)).ExportData(oBCP)
wscript.Echo nRows & " rows exported from " & wscript.arguments(1)
end if
DMO 的全部内容要比本文介绍的多得多,但我希望本文能给您一些感性认识:用某些简单的 WSH 脚本和 DMO 可以做些什么。你可以下示例(英文)。有关 DMO 的详细信息,请访问 http://msdn.microsoft.com/library/psdk/sql/9_dmoc01.htm(英文)。
数据转换服务
从数据库表中取得一个记录或计算一个值时,需要使用返回输出参数的存储过程。为了举例,先在SQL Server的pubs库中新建一存储过程OUTemploy,该存储过程需要输入两个日期,然后输出一个最大值。
CREATE PROCEDURE OUTemploy
(
@job_lvl tinyint OUTPUT,
@hire_date1 datetime,
@hire_date2 datetime
)
AS
select @job_lvl = MAX(job_lvl) from employee
where hire_date >= @hire_date1 and hire_date <= @hire_date2
导出到 Comma Separated 文件 (CSV),可以作为将数据导出到 SQL 和从 SQL 导入的起点,但这不象是尖端科技(太过于 20 世纪了,您不觉得吗?)。“SQL Server 7.0”以“数据转换服务 (DTS)”的形式,提供了相当完善的导入和导出机制。幸运的是,脚本在“SQL Server”的这个新领域中仍有一席之地,因此,您可以用“Visual Basic(R) 脚本编辑 (VBScript)”、“JScript(R)”或“Perl”的技术来扩展 DTS 的能力。
DTS 的设置非常简单,特别是在使用“SQL ServerEnterprise Manager”的时候。在默认情况下,“SQL Server”有一个定义的文件夹,可存储任何转换,而且“Enterprise Manager”提供了创建和编辑 DTS 程序包的大的图形用户界面 (GUI)。在下面的示例中,我选择了已由 sqlexport.wsf 文件创建的 employees.csv 文件和“SQL Server”中的一个新表。DTA 程序包将创建该表,加载到 Text 文件中,然后运行某个脚本,将数据转换到“SQL Server”的表中。
http://www.microsoft.com/china/msdn/Archives/library/images/scripting012000-1.gif(图)DTS 程序包中的转换,使脚本在整个转换过程中保持运行状态。“SQL Enterprise Manager”提供的简单的脚本编辑器,有一个语法分析脚本按钮。在运行脚本之前,该按钮将警告您脚本中的错误。在转换过程中,该脚本使用 VBScript 的 Cint 功能,将 employeeid 和 deptid 的输入转换为 int,并将所有的电子邮件地址转换为小写字母。
'**********************************************************************
' Visual Basic 转换脚本
' 把每个源列复制到
' 目标列
'***********************************************************************
Function Main()
DTSDestination("EmployeeID") = cint(DTSSource("Col001"))
DTSDestination("FirstName") = DTSSource("Col002")
DTSDestination("LastName") = DTSSource("Col003")
DTSDestination("email") = lcase(DTSSource("Col004"))
DTSDestination("extension") = DTSSource("Col005")
DTSDestination("office") = DTSSource("Col006")
DTSDestination("DeptID") = cint(DTSSource("Col007"))
Main = DTSTransformStat_OK
End Function
用 DTS,能够采用某些完善的导入/导出机制,并使您能够在转换的任何一步中使用脚本。重要的是,要注意脚本可能不是操作数据的最佳方式 — 尤其是您的数据集很大的话。如果您有大量数据需要转换,而且性能也很重要,则您可能需要考虑使用 Visual Basic 或 C++ 来创建 COM 组件,然后从 DTS 内部调用该组件。也就是说,如果性能并不重要,并且要在数据导入/导出时对它进行转换,则脚本为您提供了实现这一点的灵活机制,并使您能够将所有代码存储到“SQL Server”数据库中,使部署变得相当简单。
……呀!太多了! 要不你给我来信! 我转给你…电邮地址 [email protected]
I. js脚本注入
你说的是 防止xss脚本注入攻击吧。要么选择后端直接过滤掉这种类似的<script>alert()</script>字符串,但是这对客户而言又不太友好。我用的最直接的方法,取得这样的数据在前端显示的时候用
vara="<xmp>"+"<script>alert()</script>"+"</xmp>";
再把a加到你要展示的地方,浏览器就不会识别它成js代码去执行了。
仅做参考,按你的实际情况做选择吧
J. 什么是脚本注入
测试网站和网页安全性的,通过在浏览器里输入一些特殊代码和一些sql数据库查询语句,来让服务器执行系统管理员所禁止的活动,可以攻占网站,取得管理权限,并可以随意修改网页内容!
建以楼主装了防火墙:天网,瑞星,金山网标都几好!
希望能给予你帮助!