作为安全测试的一部分,我构建了一个非常基本的Chrome扩展程序,目的是能够读取安全Cookie以及localStorage数据。我设法让这个工作,这本身是一件非常糟糕的事情,然而,在构建时我使用了以下行:
def test1(df):
"""This is the fastest and cleanest."""
df['dateTime'] = df['dateTime'].astype('datetime64[s]')
groups = df.groupby('dateTime')
agg = groups.agg({'ask1': np.mean, 'tradeVolume': np.sum})
def test2(df):
"""Totally unnecessary amount of datetime floors."""
def group_by_second(index_loc):
return df.loc[index_loc, 'dateTime'].floor('S')
df['dateTime'] = df['dateTime'].astype('datetime64[ns]')
groups = df.groupby(group_by_second)
result = groups.agg({'ask1': np.mean, 'tradeVolume': np.sum})
def test3(df):
"""Original version, but the conversion to/from nanoseconds is unnecessary."""
df['dateTime'] = df['dateTime'].astype('datetime64[ns]')
df['seconds'] = df['dateTime'].apply(lambda v: v.value // 1e9)
groups = df.groupby('dateTime')
agg = groups.agg({'ask1': np.mean, 'tradeVolume': np.sum})
if __name__ == '__main__':
import timeit
print('22 rows')
df = pd.read_csv('data_small.csv')
print('test1', timeit.repeat("test1(df.copy())", number=50, globals=globals()))
print('test2', timeit.repeat("test2(df.copy())", number=50, globals=globals()))
print('test3', timeit.repeat("test3(df.copy())", number=50, globals=globals()))
print('220 rows')
df = pd.read_csv('data.csv')
print('test1', timeit.repeat("test1(df.copy())", number=50, globals=globals()))
print('test2', timeit.repeat("test2(df.copy())", number=50, globals=globals()))
print('test3', timeit.repeat("test3(df.copy())", number=50, globals=globals()))
现在,从我的understanding of this开始,这行代码实际上允许您在页面上执行任何javascript,前提是用户已经同意了权限。
有了这个,即使打开了CSP标头,任何人都可以很容易地创建一个扩展来完成我上面所做的事情。
使用扩展程序将Javascript注入网页是否容易?当然不是!?
请记住,我的扩展程序在我的计算机上以开发者模式运行,并且尚未将其发布到Chrome商店,但我haven't seen anything关于扩展程序已获批准,只是它们已获得批准且已投放立即
如果设计可能发生这种情况,有没有办法防止这样的事情发生?是否有任何CSP标题等可以帮助防止这种情况?
非常感谢所有人
答案 0 :(得分:2)
正如Chirag Ranvindra在评论中提到的那样:
浏览器扩展程序通常会绕过普通网站上设置的所有安全功能
Google声明用户自行安装Google Chrome扩展程序风险,大多数允许使用插件,插件,模组等的软件就是这种情况。
为了减少用户安装潜在风险的扩展程序的可能性,用户会收到一些警告,例如安装前请求的权限,以及#34; Developer"扩展可能存在安全风险,并且作为其条款和条件的一部分,可以并且确实停用违反其扩展指南的扩展程序。
请参阅The Google Chrome Terms and Conditions,特别是" 20。 Google Chrome扩展程序的附加条款"。
与您下载的任何程序一样,您应该认真考虑是否需要安装,以及是否来自信誉良好的开发人员。我建议只通过Official Google Chrome Extensions Webstore
安装扩展程序