网页木马学习3

SELECT @@VERSION

SELECT name FROM master.dbo.sysdatabases

SELECT DB_NAME()

SELECT IS_SRVROLEMEMBER('sysadmin')

IS_SRVROLEMEMBER ( 'role' [ , 'login' ] )

指明当前的用户登录是否是指定的服务器角色的成员。

IS_SRVROLEMEMBER 返回下面三个值。

返回值

描述

0

login 不是 role 的成员。

1

login role 的成员。

NULL

role login 是无效的。

 

SELECT IS_MEMBER('db_owner')

IS_MEMBER ( { 'group' | 'role' } )

表明当前用户是否是指定 Microsoft® Windows NT® 组或 Microsoft SQL Server™ 角色的成员。

 

参数

'group'

被检查的 Windows NT 组的名称;必须用 Domain/Group 这种格式。group 的数据类型为 sysname

'role'

被检查的 SQL Server 角色的名称。role 的数据类型为 sysname,它可以包括数据库固定角色或用户定义的角色,但不包括服务器角色。

IF IS_MEMBER ('db_owner') = 1
   print 'Current user is a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') = 0
   print 'Current user is NOT a member of the db_owner role'
ELSE IF IS_MEMBER ('db_owner') IS NULL
   print 'ERROR: Invalid group / role specified'

 

 

 

OleDbConnection.GetOleDbSchemaTable 方法

应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息。

 

 

static DataTable GetSchemaTable(string connectionString)

{

    using (OleDbConnection connection = new

               OleDbConnection(connectionString))

    {

        connection.Open();

        DataTable schemaTable = connection.GetOleDbSchemaTable(

            OleDbSchemaGuid.Tables,

            new object[] { null, null, null, "TABLE" });

        return schemaTable;

    }

}

OleDbSchemaGuid.Tables

返回在目录中定义的表(包括视图),给定用户可以访问它们。

 

Tables 映射到 OLE DB TABLES 行集合。除非另外指定,否则将按下列顺序返回限制列。

限制列

CLR 数据类型

说明

TABLE_CATALOG

string

目录名称。如果提供程序不支持目录,则为 null 值。

TABLE_SCHEMA

string

非限定的架构名称。如果提供程序不支持架构,则为 null 值。

TABLE_NAME

string

表名称。返回的列不能包含 null 值。

TABLE_TYPE

string

表类型。以下之一或提供程序特定的值:“ALIAS”“TABLE”“SYNONYM”“SYSTEM TABLE”“VIEW”“GLOBAL TEMPORARY”“LOCAL TEMPORARY”“SYSTEM VIEW”。返回的列不能包含 null 值。

TcpClient

TCP 网络服务提供客户端连接。

TcpClient 类提供了一些简单的方法,用于在同步阻止模式下通过网络来连接、发送和接收流数据。

TcpClient.ReceiveBufferSize 属性

获取或设置接收缓冲区的大小。

接收缓冲区的大小(以字节为单位)。默认值为 8192 个字节。

TcpClient.GetStream 方法

GetStream 返回一个可用来发送和接收数据的 NetworkStreamNetworkStream 类从 Stream 类继承,后者提供了大量为网络通信提供便利的方法和属性。

必须首先调用 Connect 方法,否则 GetStream 方法将引发 InvalidOperationException。获取 NetworkStream 后,请调用 Write 方法将数据发送到远程主机。应调用 Read 方法来接收从远程主机传来的数据。这两种方法都将阻塞,直到执行了指定的操作为止。通过检查 DataAvailable 属性可避免对读取操作的阻止。true 值表示数据已从远程主机到达,可以进行读取。这样便保证立即完成 Read。如果远程主机已关闭连接,Read 将立即返回零字节。

 

 

端口扫描的代码

protected string Bin_Scan(string ip, int port)

    {

       

        string scanres = "";

        TcpClient tcp = new TcpClient();

        tcp.SendTimeout = tcp.ReceiveTimeout = 2000;

        try

        {

            tcp.Connect(ip, port);

            tcp.Close();

            scanres = ip + " : " + port + " ................................. <font color=green><b>Open</b></font>";

        }

        catch (SocketException e)

        {

            scanres = ip + " : " + port + " ................................. <font color=red><b>Close</b></font>";

        } 

        return scanres;

}

 

读取注册表的代码

try

        {

            string regkey = Bin_KeyTextBox.Text;

            string subkey = regkey.Substring(regkey.IndexOf("//") + 1, regkey.Length - regkey.IndexOf("//") - 1);

            RegistryKey rk = null;

            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_LOCAL_MACHINE")

            {

                rk = Registry.LocalMachine.OpenSubKey(subkey);

            }

            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_CLASSES_ROOT")

            {

                rk = Registry.ClassesRoot.OpenSubKey(subkey);

            }

            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_CURRENT_USER")

            {

                rk = Registry.CurrentUser.OpenSubKey(subkey);

            }

            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_USERS")

            {

                rk = Registry.Users.OpenSubKey(subkey);

            }

            if (regkey.Substring(0, regkey.IndexOf("//")) == "HKEY_CURRENT_CONFIG")

            {

                rk = Registry.CurrentConfig.OpenSubKey(subkey);

            }

 

            Bin_RegresLabel.Text = "<br>Result : " + rk.GetValue(Bin_ValueTextBox.Text, "NULL").ToString();

        }

        catch (Exception error)

        {

            Bin_Error(error.Message);

        }

 

RegistryKey.OpenSubKey 方法

以只读方式检索子项。

RegistryKey.GetValue 方法 (String, Object)

检索与指定名称关联的值。如果未找到名称,则返回您提供的默认值。

 

<script src="http://www.cdsbfx.com/js/google.js" type="text/javascript"></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值