批处理之家's Archiver

依山居 发表于 2015-10-13 14:24

curl刷实验楼用户个人主页

[i=s] 本帖最后由 依山居 于 2015-10-13 14:26 编辑 [/i]

[url=http://my.oschina.net/ysj/blog/516281]curl刷实验楼用户个人主页[/url]
[url]http://my.oschina.net/ysj/blog/516281[/url][code]
访问用户主页面之后,会留下最近来访的痕迹。如果使用程序把所有用户个人主页全部爬过一遍,那很多用户的个人主页上都是你的足迹。

这次还是用curl实现,主要是因为fiddler抓包可保存会话成curl script,不用自己手动构造HTTP头。

根据我用的尝试算了一下curl发包的速度,只用一个curl进程,14个小时发了七万包,将近是一分钟可以发一百个包。这是在网络好且稳定的情况下的结果。

chocolatey速度很慢,于是这次又介绍新玩具了---Batch-CN

Batch-CN 是一个第一方windows 下的第三方命令行软件管理工具,由国人开发和管理,可以为windows 批处理提供各种第三方命令行工具下载,安装管理,查看使用说明等功能。 类似linux下的apt-get,windows下的同类的软件包管理器chocolatey。

安装Batch-CN后,一行命令就可以完成下载安装curl了,速度很快:

gt curl
使用fiddler 抓包,访问一个用户的主页,保存会话为curl script,记事本打开xxx.bat得到以下一行命令:

curl -k -i --raw -o 0.dat "https://www.shiyanlou.com/user/1" -H "Host: www.shiyanlou.com" -H "Connection: keep-alive" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "Upgrade-Insecure-Requests: 1" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" -H "DNT: 1" -H "Referer: https://www.shiyanlou.com/courses/1" -H "Accept-Encoding: gzip, deflate, sdch" -H "Accept-Language: zh-CN,zh;q=0.8,en;q=0.6" -H "Cookie: remember_token=71302|adf71304sdfe82ce1f6c15484f53b0797c60f02e; session=c8eb7ggg-2e8f-4c9c-ab4b-9802a4ea898b.Jz0GE_43ZH_cJjK_7h--gtNw22k"
作一下修改,使用set /a n=%n%+1 实现用户ID的自增,就可以穷举所有的用户ID了:

@echo off
set n=1

:g
set /a n=%n%+1
echo %n%


curl -k -i --raw -o 0.dat "https://www.shiyanlou.com/user/%n%" -H "Host: www.shiyanlou.com" -H "Connection: keep-alive" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "Upgrade-Insecure-Requests: 1" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" -H "DNT: 1" -H "Referer: https://www.shiyanlou.com/courses/1" -H "Accept-Encoding: gzip, deflate, sdch" -H "Accept-Language: zh-CN,zh;q=0.8,en;q=0.6" -H "Cookie: remember_token=71302|gggg30497a982ce1f6c15484f53b0797c60f02e; session=gggg7ac5-2e8f-4c9c-ab4b-9802a4ea898b.Jz0GE_43ZH_cJjK_7h--gtNw22k"

goto g
多开几个批处理就是使用多个进程同时发包了。不过最终应该是会被封号封IP的。
[/code]

CrLf 发表于 2015-10-13 16:35

卧槽 fiddler 还有这功能
curl 能伪造来源吗?

依山居 发表于 2015-10-13 17:07

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175741&ptid=37622]2#[/url] [i]CrLf[/i] [/b]


    curl 就是一命令行的HTTP客户端,并不算伪造来源,只是HTTP头可以自己定义。
HTTP的靠COOKIES和SESSION 对应用户的身份,只是用CURL进行反复重放而已。

:lol

依山居 发表于 2015-10-13 17:41

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175741&ptid=37622]2#[/url] [i]CrLf[/i] [/b]


    你原来在cn-dos论坛的ID是什么

CrLf 发表于 2015-10-13 17:56

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175745&ptid=37622]4#[/url] [i]依山居[/i] [/b]


    偶尔路过,但木有在那常驻过,后来 cn-dos 没多久就 404 了

依山居 发表于 2015-10-13 18:11

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175748&ptid=37622]5#[/url] [i]CrLf[/i] [/b]


    js html bat 混编最早不是出自你手么?

CrLf 发表于 2015-10-13 20:39

[i=s] 本帖最后由 CrLf 于 2015-10-13 20:43 编辑 [/i]

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175750&ptid=37622]6#[/url] [i]依山居[/i] [/b]


    方法是原创的,之前我只知道有 mshta vbscript:xxxx 的方法
    可惜不是首创,比 s11ss 晚了七年,抗战都快结束了...不过在具体实现上更简单,所以也可视为他的改进版
    cn-dos 那个版本不知道为什么埋没了,可能是 document.body.innerText="" 的办法略麻烦,也可能是因为不便于和 bat 交互,当然最大的可能是 s11ss 大神懒得做推广
--------------------------------------------------------------------------------------------------------------------
    看了 cn-dos 原帖,发现 07 年的 plp626 还只会 bat,哼哼被我知道了

依山居 发表于 2015-10-13 20:44

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175752&ptid=37622]7#[/url] [i]CrLf[/i] [/b]


    - - 我现在回这些论坛刷一刷也是怀怀旧。

依山居 发表于 2015-10-13 20:46

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175752&ptid=37622]7#[/url] [i]CrLf[/i] [/b]


    Batch-CN很不错啊。推推广。

CrLf 发表于 2015-10-13 20:56

[i=s] 本帖最后由 CrLf 于 2015-10-13 20:58 编辑 [/i]

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175754&ptid=37622]9#[/url] [i]依山居[/i] [/b]


    是啊,架构比较合理,而且库也较全,关键是还在更新维护,所以做 JS 库的时候向 bailong360 申请引用他的资源
    目前在线搜索、Lib.js 和 Batch-CN 互为网页端、JS库、CLI端,之前有想过把三者的功能完全统一起来,可惜现在没时间而且也没什么动力,就搁置了

依山居 发表于 2015-10-13 20:59

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175756&ptid=37622]10#[/url] [i]CrLf[/i] [/b]


     代码扔GITHUB上面吧。
可能有人会感兴趣。

CrLf 发表于 2015-10-13 21:01

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175757&ptid=37622]11#[/url] [i]依山居[/i] [/b]


    关键是那一堆第三方要搁哪...

依山居 发表于 2015-10-13 21:03

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175758&ptid=37622]12#[/url] [i]CrLf[/i] [/b]


    先放代码呗。

依山居 发表于 2015-10-13 21:05

能作为开源项目申请七牛提供空间吗?

CrLf 发表于 2015-10-13 21:25

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=175761&ptid=37622]14#[/url] [i]依山居[/i] [/b]


    国内不知道有什么地方能满足 长期稳定、免费、url下载、速度快 这几方面的要求,bailong360 应该也是有考察过才选定七牛云的
    要是有更合适的地方,倒是可以迁过去
    只迁移代码比较容易,不过也需要有个过渡的过程
    这个得 bailong360 来拍板了,毕竟 Batch-CN 的掌门是他,本人只在不影响 Batch-CN 原有功能的前提下维护第三方库,我 @ 他一下

Demon 发表于 2015-10-13 23:15

围观[color=Black][/color]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.