有个系统的登录是通过 ajax 返回的数据值。然后判断参数验证权限的。
我在想如果系统服务端没控制权限的话 仅仅只是客户端通过登陆一次的返回值来控制页面跳转和显示内容的话。 我是不是就可以修改登陆时的返回数据包 然后伪装成服务端返回值 从而入侵系统呢?
PS: 这是我们公司自己的维护系统。。
只不过请了安全评测的公司来做测试被爆出漏洞。
我想重现下漏洞是怎么发现和被进攻的 好向老爷交差,我不是想做坏事啊 5555
1
a342191555 2016-01-07 20:38:41 +08:00
fidder 应该可以满足需求。
|
2
a342191555 2016-01-07 20:39:01 +08:00
sorry , fiddler 。拼错了。
|
3
xifangczy 2016-01-07 20:39:51 +08:00
Burp Suite
Fiddler Charles 不谢 |
4
ren2881971 OP |
5
a342191555 2016-01-07 20:47:51 +08:00
@ren2881971 感觉可行。而且我觉得如果在上级路由上做一个 iptables 的转发的话甚至可以截取到所有不加密的数据(微博登陆,说你呢!)
|
6
ren2881971 OP @a342191555 哈哈坦白说 没看懂 原谅我的无知 :-O
|
7
ren2881971 OP @a342191555 mac 下有 Charles 下载一个研究下~
|
8
ren2881971 OP |
9
lxy 2016-01-07 20:59:01 +08:00
这种低级漏洞不少,比如用来跳过短信验证……
|
10
ren2881971 OP @lxy 涨姿势了。 反思自己以前写的代码漏洞。。
|
11
ren2881971 OP @lxy 请问如何能避免这种渗透方式呢。。 增加服务端返回客户端数据的 复杂方式?
怎么感觉总会被人分析出来 从而入侵的感觉呢。(突然觉得背后凉飕飕的) |
12
a342191555 2016-01-07 21:11:31 +08:00
@ren2881971 HTTPS 最简单吧
|
13
ren2881971 OP @a342191555 https 就不会被抓包么?
|
14
a342191555 2016-01-07 21:18:01 +08:00
@ren2881971 与服务器建立握手的时候会给你公钥的,你能用公钥解开的只有服务器用私钥加密过的数据,你用公钥加密过的数据只有服务器的私钥才可以解开。只要在客户端保证第一次发的公钥是来源于正确的服务器并且对应的私钥没有泄漏就可以了
|
15
bdbai 2016-01-07 21:19:28 +08:00 via iPhone
@a342191555 网页上 HTTPS 照样能分析出 js 。
服务端处理时就要假设传回的数据都是不安全的,然后进行过滤。 |
16
a342191555 2016-01-07 21:24:30 +08:00
@bdbai HTTPS 只能防止中间人攻击。 JS 的东西没办法控制,本来就是运行在客户端中的。 JS 只处理与前端相关的东西,程序本身的逻辑始终放在后端实现。不知道这个理解是否恰当?
|
17
ren2881971 OP @bdbai 数据不能被拦截的话 就算分析 js 也没什么用吧。
小弟网络安全 菜鸟 请大神指教。 |
18
bdbai 2016-01-07 21:28:59 +08:00 via iPhone
@a342191555 逻辑放哪里不要紧,关键是后端要做好安全措施。
|
19
bdbai 2016-01-07 21:33:04 +08:00 via iPhone
@ren2881971 你现在的主要矛盾在于后端。攻击者完全可以直接访问你的 js 来分析,或者使用浏览器的开发者工具。总之扔给用户的都是不安全的。
|
20
ren2881971 OP @bdbai 哎 说得对。我看了代码 目前的登录是通过 ajax 将用户名和密码数据发送服务端,获取返回数据后直接通过 js 判断 跳转什么路径。。 比如 success.jsp 这种一目了然意图的路径。。
之后又在 success.jsp 中的 js 中判断参数来处理页面显示内容。。。。 所以我直接抓包 修改数据再返回客户端的话 就可以直接入侵系统了。。 明明需要服务端做跳转的。 不知为何要闹这样。。哎 身为背锅侠的我 |
21
imn1 2016-01-07 22:40:36 +08:00
登录完不写入 session 么?
|
22
sunsol 2016-01-07 23:54:47 +08:00
@a342191555 HTTPS 双向认证可以确保指定客户端才能使用,正好用于维护系统
|
23
ren2881971 OP @imn1 我没源码 但看着架势 应该是没写入。。。。
|