Board logo

标题: curl刷实验楼用户个人主页 [打印本页]

作者: 依山居    时间: 2015-10-13 14:24     标题: curl刷实验楼用户个人主页

本帖最后由 依山居 于 2015-10-13 14:26 编辑

curl刷实验楼用户个人主页
http://my.oschina.net/ysj/blog/516281
  1. 访问用户主页面之后,会留下最近来访的痕迹。如果使用程序把所有用户个人主页全部爬过一遍,那很多用户的个人主页上都是你的足迹。
  2. 这次还是用curl实现,主要是因为fiddler抓包可保存会话成curl script,不用自己手动构造HTTP头。
  3. 根据我用的尝试算了一下curl发包的速度,只用一个curl进程,14个小时发了七万包,将近是一分钟可以发一百个包。这是在网络好且稳定的情况下的结果。
  4. chocolatey速度很慢,于是这次又介绍新玩具了---Batch-CN
  5. Batch-CN 是一个第一方windows 下的第三方命令行软件管理工具,由国人开发和管理,可以为windows 批处理提供各种第三方命令行工具下载,安装管理,查看使用说明等功能。 类似linux下的apt-get,windows下的同类的软件包管理器chocolatey。
  6. 安装Batch-CN后,一行命令就可以完成下载安装curl了,速度很快:
  7. gt curl
  8. 使用fiddler 抓包,访问一个用户的主页,保存会话为curl script,记事本打开xxx.bat得到以下一行命令:
  9. 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"
  10. 作一下修改,使用set /a n=%n%+1 实现用户ID的自增,就可以穷举所有的用户ID了:
  11. @echo off
  12. set n=1
  13. :g
  14. set /a n=%n%+1
  15. echo %n%
  16. 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"
  17. goto g
  18. 多开几个批处理就是使用多个进程同时发包了。不过最终应该是会被封号封IP的。
复制代码

作者: CrLf    时间: 2015-10-13 16:35

卧槽 fiddler 还有这功能
curl 能伪造来源吗?
作者: 依山居    时间: 2015-10-13 17:07

回复 2# CrLf


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


作者: 依山居    时间: 2015-10-13 17:41

回复 2# CrLf


    你原来在cn-dos论坛的ID是什么
作者: CrLf    时间: 2015-10-13 17:56

回复 4# 依山居


    偶尔路过,但木有在那常驻过,后来 cn-dos 没多久就 404 了
作者: 依山居    时间: 2015-10-13 18:11

回复 5# CrLf


    js html bat 混编最早不是出自你手么?
作者: CrLf    时间: 2015-10-13 20:39

本帖最后由 CrLf 于 2015-10-13 20:43 编辑

回复 6# 依山居


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

回复 7# CrLf


    - - 我现在回这些论坛刷一刷也是怀怀旧。
作者: 依山居    时间: 2015-10-13 20:46

回复 7# CrLf


    Batch-CN很不错啊。推推广。
作者: CrLf    时间: 2015-10-13 20:56

本帖最后由 CrLf 于 2015-10-13 20:58 编辑

回复 9# 依山居


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

回复 10# CrLf


     代码扔GITHUB上面吧。
可能有人会感兴趣。
作者: CrLf    时间: 2015-10-13 21:01

回复 11# 依山居


    关键是那一堆第三方要搁哪...
作者: 依山居    时间: 2015-10-13 21:03

回复 12# CrLf


    先放代码呗。
作者: 依山居    时间: 2015-10-13 21:05

能作为开源项目申请七牛提供空间吗?
作者: CrLf    时间: 2015-10-13 21:25

回复 14# 依山居


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

围观




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2