English 中文(简体)
A. 交易中可能出现的安全问题(詹戈)
原标题:Possible security issues in a trading app (Django)

Being not a security expert I hope you can clarify something for me.

I m 建造一个用户能够“贸易”虚拟产品的仪器。 我与Django一起建造这栋楼房,如果你感兴趣的话。

A sample scenario: Alice (UserID=1) has good-A with a certain value (x). Where good-A is basically a database entry in the "tradable items" DB with the properties (ID, Name, Desc, Value, Owner). The owner of good-A is Alice. Now if Alice wants to give good-A to Bob (UserID=2) she changes the "Owner" property of good-A to Bob s UserID=2.

这意味着。 为了获得所有物品的总价值,我提出一个问题,要求“<>编码>在所有权=1<>/代码”的可交易物品数据库中所有物项的价值值”。

因此,所有用户的所有货物都储存在一个数据库中。 是否存在一个安全问题,即(vil)用户可以将不属于他们范围的可交易物品的所有权改变为他们自己的物品?

我知道这取决于具体的执行情况,但也许大家一般认为该计划存在缺陷。

因此,这是否是实施这种设想的好办法? 或者你们有什么更好的想法?

问题回答

从技术角度来说,每一次泄漏都是pl。 违约。

从商业风险的角度来看,假定你的技术努力只有99%有效,并采取步骤缓解。

(1) 每一贸易记录。 如果出现安全漏洞,那么只要你有自己的记录,你就可以回来,消除任何损害。 大多数欺诈行为都将利用前端漏洞。

2) 定期休息。 如果安全漏洞敞开,你也可以打破你的 d。 你们要求得到长途的支持。

3) 每当用户获取/转让物品时,都发送电子邮件。 BCC yourself——这在两个不同的系统中生成了2份多余的贸易记录(一份在电子邮件中,一份在(b)上),现在它们不得不打上你的电子邮件服务器,以逃避欺诈。 如果1个失败,你可能能够从中恢复。 这也让你们的使用者为你们找到问题。

4) For high value transactions, especially converting to cash, add human authorization. Let them do batch transactions twice a day -- but humans know something is wrong when transfers are usually in the 20-30 per hour range and are suddenly 5000 -- computers don t. Humans are much better at heuristics than computers, use them to once over and make sure nothing fishy is going on.

你是正确的,因为它完全取决于你们的执行情况。 安全问题由你如何实际让用户改变对一个项目的所有权来决定。 如果你有一个简单的表格,显示用户拥有的所有物品,并选择一个和更换所有人,则该网页将重新上载,不再有该项目加以修改。 这也是你询问的一种方式。 如果用户A要求改变对项目A的所有权,但不是所有者,你就没有这一请求。

So really, there is no way for the client side to change Items that do not belong to them as long as you are only showing them Items they own, and only succeeding a change of ownership on Items they originally own.

Edit

And example of a situation where it would be a security issue, is where you expose a REST api that clients can communicate with via javascript, and you allow them to freely modify any Item ID they specify in their PUT request data.





相关问题
Signed executables under Linux

For security reasons, it is desirable to check the integrity of code before execution, avoiding tampered software by an attacker. So, my question is How to sign executable code and run only trusted ...

MALICIOUS_CODE EI_EXPOSE_REP Medium

I run findbugs against all of my code and only tackle the top stuff. I finally got the top stuff resolved and now am looking at the details. I have a simple entity, say a user: public class User ...

XSS on jsbin.com

Anyone know if jsbin.com implements any protection for XSS or other javascript attacks? I see jsbin links used fairly regularly on sites like this one and I can t find any indication from the site ...

Make md5 strong

Im making a website that will intergrate with game that only support md5 hashing metod (atm). Which ofc is not especially safe anymore. But how could i make it stronger? Should I just generate long ...

Why running a service as Local System is bad on windows?

I am trying to find out the difference between difference service account types. I tumbled upon this question. The answer was because it has powerful access to local resources, and Network Service ...

Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

热门标签