当前位置:首页 » 编程语言 » sql做wincc数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql做wincc数据库

发布时间: 2022-08-21 06:01:47

‘壹’ wincc与sql数据库交换数据

黑客SQL服务器入侵实战演习(二)

3.1为什么使用的是' or 1=1--呢?

让我们来看看其他例子中使用'or 1=1--的重要性吧。有别于正常的登陆方式,使用这样的登陆方式可能得到正常登陆中不能得到的某些特殊信息。用一个链接中得到的ASP页来打比方:

http://ck/index.asp?category=food

在上面这条URL中,'category'是一个变量名,而'food'是赋予该变量的值。为了做到这些(链接成功),

这个ASP必须包含以下相关的代码(下面也是我们为了演示这个实验所写的代码):

v_cat = request("category)

& v_cat & "'

set rs=conn.execute(sqlstr)

正如我们所看到的,变量值将会预先处理然后赋值于'v_cat',也就是说该SQL语句将会变为:

SELECT * FROM proct WHERE PCategory='food'

这个请求将会返回通过WHERE条件比较后得到的结果,在这个例子中也就是'food'了。现在设想一下如果

我们把该URL改成这样的话:

http://ck/index.asp?category=food' or 1=1--

现在我们的变量v_cat的值就等同于"food' or 1=1--了,现在如果我们要重新代入那条SQL请求的话,

那条SQL请求将会是:

SELECT * FROM proct WHERE PCategory='food' or 1=1--'

现在这个请求将会从proct表中选取每一条信息而并不会去理会PCategory是否等于'food'。至于结尾部分的那两条'--'(破折号)则用于‘告诉’MS SQL SERVER忽略结尾最后的那个'(单引号)。有的时候也可以使用'#'(井号)来代替'--'(双破折号)在这里的用法。

无论如何,如果对方不是一台SQL服务器(这里指的是MS SQL SERVER),或者你不能使用简单的方法去忽略最后的那个单引号的话,你可以尝试:

' or 'a'='a

这样的话整个SQL请求将会变为:

SELECT * FROM proct WHERE PCategory='food' or 'a'='a'

它也会返回相同的结果。

根据实际情况,SQL注入请求是可以有多种动态变化的可能性的:

' or 1=1--

"a

') or ('a'='a
4.0如何在SQL注入请求中加入即时执行命令?

能够进行SQL注入的服务器通常都是一些疏于做系统性配置检查的机器,此时我们可以尝试使用SQL的命令执行请求。默认的MS SQL服务器是运行在SYSTEM用户级别下的,这等同于系统管理员的执行与访问权限。我们可以使用MS SQL SERVER的扩展储存过程(如master..xp_cmdshell等)来执行远程系统的某些命令:

'; exec master..xp_cmdshell 'ping 10.10.1.2'--

若失败可以尝试一下使用(双引号)代替'(单引号)。

上面例子中的第二个冒号代表一句SQL请求的结束(也代表了它后面紧跟着一条新SQL命令)。若要检验上面这条PING命令是否成功,你可以在10.10.1.2这台机器上监听ICMP请求包,并确认它是否来自那台SQL服务器就可以了:

#tcpmp icmp

如果你不能从那台SQL服务器中得到PING请求的话,并在SQL请求的返回值中得到错误信息的话,有可能是因为该SQL服务器的管理员限制了WEB用户访问这些储存过程了。

5.0如何可以获取到我发的SQL请求的相关返回信息呢?

我们可以使用sp_makewebtask处理过程的相关请求写入URL:

"SELECT * FROM INFORMATION

_SCHEMA.TABLES

但先决条件是目标主机的文件夹“share”属性必须设置为“Everyone”。

‘贰’ wincc和SQL数据库连接

楼主现在解决了吧,分享一下成果啊

‘叁’ 如何用SQL语言从wincc数据库获取数据,实时获取与获取保存的数据有什么区别

步骤1:在SQLSERVER中设一个远程登陆的账号sa, 密码也设置xxx(自己定)
(SQL配置管理器中,把通信协议TCP/IP相关的服务都启用
在SQL中,安全性---登陆账号---SA的属性---状态—启用授权登陆和允许访问SQLSERVER引擎 )

以上设备和配置保证模仿远程用户来我这个计算机SQLSEVER服务器访问数据库.

二 载入系统的类包/名字空间
using System.Data;
using System.Data.SqlClient;
三 建立连接对象sqlconnection 专门负责与数据库服务器连接

四 定义一个sqldatareader对象,专门从数据库指定表中读出数据
五 定义一个SQL查询命令对象 sqlcommand ,让它负责从数据库去操作读,并把读到结果数据交给sqldatareader对象
protected void Button1_Click(object sender, EventArgs e)
{
String mys = "xxxx;database= xxxx; User ID=xxx;pwd=xxxx;Trusted_Connection=no"; //连接串
SqlConnection myc = new SqlConnection(mys); //定义一个连接对象myc,负责去连接mys串定义的服务器和数据库
myc.Open();
Response.Write("连接成功");
//准备读出数据
SqlDataReader myread;
string sql="查询语句";
SqlCommand mycom = new SqlCommand(sql , myc);
//定义mycom,在myc这个数据连接中去执行指定的select查询命令
myread = mycom.ExecuteReader(); //把mycom的执行查询的结果数据交给myread

while (myread.Read()) //遍历表中的所有行,read( )一次,可读一行,往下跳
{
//从查询结果中取一行出来
for (int i = 0; i <myread.FieldCount ; i++)
Response.Write(myread[i].ToString());
Response.Write("<br>");
}

myc.Close();

}

‘肆’ 如何将wincc 变量数据外发SQL

在SQL建立数据库表格及相应的字段,在要写数据的地方编写脚本,即可外发SQL。

‘伍’ wincc audit怎么建立数据库

1、 设置用户信息

计算机->右键管理(G)->本地用户和组->当前登录用户名如[Dell] ->右键属性->只勾选密码永不过期(同时对其他用户勾选:账户已禁用)

.png

2、 设置数据库信息

打开SQL Server Management Studio->

.png

Connect建立链接

‘陆’ sql server数据库与工业实时数据库,如winCC组态软件配置的实时数据库,如何实现数据通信

目前几乎所有
组态软件
都支持ODBC指令,用这些指令可以对各类数据库进行读、写、增加、删除等操作。不同软件的做法不同,但道理都差不多,每一种组态软件都有专门章节指导。
一般情况下,步骤是:1建立一个数据库
2定义数据源:进入“控制面板”中的“管理工具”,用鼠标双击“数据源
(ODBC)”选项,弹出“
ODBC数据源
管理器”。3在组态软件中引用
数据库操作
指令,操作已经定义好的数据库。
请参考组态软件说明书。
给10分行不行?

‘柒’ SQL server 作为OPC客户端,重新规划wincc数据库

你安装一般的microsoft
sql
server时候,在可以填的地方填上wincc,这样就可以安装wincc6.0
最好去下载个microsoft
sql
server
for
wincc,这样装没有那么麻烦也降低产生错误的可能

‘捌’ 用SQL建立一个本地数据库,然后和WINCC建立连接,然后用VB读取和修改SQL数据库里面内容,最好是实例。

具体操作修改一下连接字符串和sSql里的命令就可以了

Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim Con

Dim Data1, Data2, Data3

‘读取wincc变量
Data1=HMIRuntime.tags("编号").read
Data2=HMIRuntime.tags("姓名").read
Data3=HMIRuntime.tags("年龄").read
‘连接数据库
Con="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=读写数据库;Data Source=.\WINCC"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = Con
conn.CursorLocation = 3
conn.Open
‘写入数据库
sSql="insert into个人信息VALUES('" & Data1 & "','" & Data2&"','"&Data3&"');"
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
Set oCom.ActiveConnection = conn
oCom.CommandType = 1
oCom.CommandText = sSql
Set oRs = oCom.Execute
Set oRs = Nothing
conn.Close
Set conn = Nothing

‘玖’ 如何通过ODBC将WINCC数据写入SQL数据库中

Wincc 本身自带集成的SQL数据库,视版本不同而有所不同。所有历史数据都可以存在变量归档中。如果需要制作报表等,可利用用户归档。如果是因第三方需要则可通过OPC协议进行通讯。
现在西门子推出PH(Process Historian)取代了原来的CAS(中央归档服务器),同步推出了Information Server(信息服务器)。PH服务器就是基于SQL Server2008R2 SP1,但区别商用数据库,这种是定制版,结构上有所差别,支持TimeStamp毫秒级别。你可以通过直接访问PH来获取你所需数据。你可以到西门子自动化官网查找相关资料或咨询西门子客服。所以你没必要做这种重复性的工作,而且也得不到你想要的数据,还是利用PH服务器这种结构为妙。

‘拾’ 怎么从wincc中写数据到SQL

首先在SQL建立数据库表格及相应的字段。在要写数据的地方编写脚本,VB,VC脚本都可以。一般采用ADO连接比较方便些。脚本的编写方法和VB基本相同。只是要事先声明变量与WINCC的控件数据或WINCC的变量连接并读取控件或变量的数据。不需要任何辅助软件。