敢问是API的bug么= =

11 views
Skip to first unread message

Domo

unread,
Feb 1, 2013, 10:44:39 PM2/1/13
to jiepa...@googlegroups.com
嗯也就不问了我很确定是。今天写code的时候用了statuses/list(也就是上一个帖子里面讨论的那个),然后就发现API的类似to JSON String写的是有问题的吧……返回结果根本没有正确地处理转义字符。出问题的地点是威尼斯机场:


地名中Marco Polo是引号括起来的。但返回的JSON string里面根本没有处理转义字符,直接导致整个JSON string都因为引号不匹配而变成了非法的。不知道公司内部也会使用这个api还是说这个api只是写给第三方使用的,不过anyway这个bug还是挺惊人的吧,毕竟是如此如此如此基本的功能和如此如此如此业余的错误。

虽然没有尝试但总觉得可以很简单地通过类似SQL injection的方法来攻击服务器呢。。(
如果官方在意的话还请留意一下吧……

Wander Wang

unread,
Feb 3, 2013, 10:37:21 PM2/3/13
to jiepa...@googlegroups.com, Zakk Zhu
loop zakk 请检查一下此情况。


--
You received this message because you are subscribed to the Google Groups "街旁API" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jiepangapi+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Wander | 王鑫 
Product Manager
你的街旁,我的城市
Mobile: +86 18611789027
QQ:53540293

Wander Wang

unread,
Feb 4, 2013, 3:39:12 AM2/4/13
to jiepa...@googlegroups.com, Zakk Zhu
这是一个Feature

因为街旁自己的客户端林林总总,使用的技术,语言繁多。所以我们规定转义的部分是由客户端来完成,你也应该在客户端对html进行和对有用户输入内容,可能造成xls风险的地方进行转义。

为什么api不对输出内容转义?简单的来说只要我做的东西不是html,比如native client,是不需要按照做html页面进行转义的。

至于说到json返回结果无法解析问题,他跟转义无关。API返回的结果是符合json规范的,'和"的quote方式是加反斜杠\。这都是由语言本身类库提供的。凡是api返回前必调用json encode。不存在不符合json格式的问题,只有可能2次加码。但依旧符合json规范。为了防止万一我试验了在这个地点名称上加'和"", 转义或否,都对输出json是否正确无关。我建议你检查自己的代码,也希望你把街旁返回的”问题api结果“另存为文本文件,用浏览器打开,使用控制台eval看是否合法。

至于最后提到的注入问题。输入和输出是两码事。

ps. 如果你调用api是使用的是开发者网站上的 代码实例。 请注意这是”代码实例“ 而不是"官方SDK"。我们欢迎大家指正那其中的错误。
Reply all
Reply to author
Forward
0 new messages