天域至尊 发表于 2019-8-23 11:12

Python编程两个常见漏洞以及征信碎碎念

本帖最后由 天域至尊 于 2020-3-10 16:12 编辑

前几天闲的蛋疼,去征信系统上查了下,气死我了。我觉得有必要给整天沉寂在三次元和代码世界里的友人们普及下征信常识。
我在京东金条上借钱用,因为是穷学生,每次只借500,生活费到了立马还上,结果有一次晚还了一小时,被京东金条上报征信系统,一下子六条严重违约,我勒个去……
在网上查了下,几乎所有金融机构,就京东这么一丝不苟,别说一小时,一分钟都要上报。其他机构上报前,往往会电话催还,你死活不还,银行才上报。
所以建议大家小额借款前,先了解下口碑。
同样,你被京东记了,银行会以为人家死命催你还钱,你死命不还,万般无奈,上报征信。但事实上你可以不小心晚了一两个小时,或者网络问题晚了一两秒。

日后使用到个人征信记录,银行主要注意以下几个要点:
1.是否存在大量的小额借贷记录,出现这种记录,说明你资金紧张,个人风险承受能力较低,银行会拒绝借贷。
2.是否出现违约记录、犯法等记录、电信恶意欠缴,所以手机号不用了别一丢了之,要去营业厅办理销户。
3.整体借款金额。
4.短期内征信系统查询记录,征信系统被查询过多,说明你现在资金特别紧张,向多家银行借款,这是一个很大的风险参考项。
5.京东白条同样开始记录征信,并没有宽限期.
以上呢,个人违约记录和小额借贷记录保留5年,短期查询记录保留2个月。所以五年后会被清零,注意,是贷款结清后的五年后哦。


如果出现不小心逾期,一定要赶紧还上,跟客服沟通,说明情况,再三确认他们不会上传征信,在上传前是很容易撤销的。

如果是其他特殊情况,被上报了征信,要去人行投诉,申请撤销。

所以,如果短期资金周转不开,还是找人借吧,网贷还是比较麻烦的。至于京东白条好像有人说可能要上征信,如果上了,就会影响上述的第一条。


算是一个普法吧,下面是我近期开发遇到的两个漏洞,大家注意下。

1.SQL命令拼接导致的SQL注入漏洞。
相信不少人图省事,直接用了字符串拼接,例如
order='select partName from part where partid="'+userInputId+'";'
这个字符串拼接起来是为了根据部件ID查询部件名称,中间的userInputId是用户传入的,但是有没有想过,如果用户传入了这样的数据:
1"union select Password from mysql.user where User="root";--
两个字符串连接起来是什么?
select partName from part where partid="1" union select Password from mysql.user where User="root";-- ";
是不是有点变味了,当然你可以使用用户权限配置让他查不到mysql数据库这么敏感库,但是不见得他不能做别的事,拿到他不该拿到的数据。
这个只算是SQL注入扫盲级别的,高深的手段可以专门去研究。


推荐使用的方式呢,是pymysql中的execute,他有两个参数,前一个是sql命令,后面一个是元组。
所以命令我可以这样写
order='select partName from part where partid=%s;'
cursor.execute(order,(userInputId))
这样会在底层处理掉,一般不会出现问题。当然也可以基于白名单的方式来限制输入。
注:%s前后请不要加引号,如果发生执行不报错,却没有实际执行内容的情况,一般是你在%s前后加了引号.


2.远程代码执行漏洞
我前几天写的一个后端里面被测出远程代码执行。
原因是这个函数 eval(),我使用这个函数的目的是将json转化为字典,方便操作,但是万万没想到,他竟然转化的过于深入。
例如{1:2552}这个字符串转化为字典后,我们就可以用1去取到2552这个数值,很方便。但是你有没有想过,如果传来的json是{1:print('hello world')}的呢?
对的,他会执行print函数,打印hello world。而且是转化的时候去执行,你调不调用都会执行。
如果传入的是{1:os.system('sudo rm -rf /*')}呢?
我没有import os,哈哈哈哈。
好的,如果这样呢{imort os:os.system('sudo rm -rf /*')},而且,是完全可以啊import os和os命令写成一句的。
import ast

ast.literal_eval()
这个函数会解决这个问题,另外在import os 这些敏感库的时候,要尽量缩小引用范围。
比如from os import environ,尽量减少引用的范围。


安全编程以后不会是一个高要求,而是一个基本要求吧,以后自己要好好去研究下,任何一个模块都要考虑,传入给模块的数据绝对不可信!模块要做好最坏的打算。

天域至尊 发表于 2019-8-23 11:57

yanmingming 发表于 2019-8-23 11:49
为了自己着想 还是按时还款啊不然征信出问题以后麻烦挺多的

对的,关键是有时候一不小心忘了,金条没有快逾期的提醒,只会在还款日前两天给你发个短信,逾期了也不会提醒,提醒了也没用,已经上报了。有时候忙了,晚还了一小时,还是常见的,其他银行都有宽限期,也就是你逾期了,给你打电话,通知你逾期了,赶紧还,不还就报征信了。正常的立马还上,就算了,人家也不会难为你,上报征信了也会通知你,因为你不还钱,我们给你报征信了,你看着办吧。
京东神奇的地方在于,逾期不催缴,不通知,上了征信也不跟你说。你哪怕11:59:59秒点了还款,00:00:01还款成功,恭喜你,严重失信一次。而且不会有任何提醒告诉你已经上报征信了,你是处于完全不知道的情况。他也不会说,我们家很严格,延期一秒就要报征信,所以会误导你,让你觉得不是个大事,但事实上,已经很严重了,也会让你错过最佳的沟通解决时间。

天域至尊 发表于 2019-8-23 12:54

yanmingming 发表于 2019-8-23 12:50
这太霸道了啊各大银行信用卡逾期都没这么严格

爱,这就是京东的规矩,而且会显示逾期一个月,客服的解释是征信系统最低单位是一个月,所以只能报一个月,不管是你是一分钟还是几秒钟,统一上报一个月。还说,你开通的时候条款里都有的,征信系统是这样设计的,他们也没办法等等。
哎,心累的要死。

天域至尊 发表于 2019-8-23 11:26

技术和普法贴哦,不要涉及政治内容哦。

yanmingming 发表于 2019-8-23 11:30

京东白条好像没事吧

天域至尊 发表于 2019-8-23 11:33

yanmingming 发表于 2019-8-23 11:30
京东白条好像没事吧

现在好像没事,但是网上有消息所要上征信,具体情况不知道。

yanmingming 发表于 2019-8-23 11:34

天域至尊 发表于 2019-8-23 11:33
现在好像没事,但是网上有消息所要上征信,具体情况不知道。

白条没事 我试过{:301_997:}

天域至尊 发表于 2019-8-23 11:38

yanmingming 发表于 2019-8-23 11:34
白条没事 我试过

常在河边走,哪能不湿鞋。我是怕了,我征信系统上也没有白条的记录,看网上有些人说,他们金条逾期也有可能不上报,也有可能上报。如果被分到一个上海的金融机构就没事,如果被分到西安什么银行或者哈尔滨什么银行,晚一秒钟都不行。这个还得看运气和人家心情,算了。

quiow 发表于 2019-8-23 11:38

普法教育,受益终身

yanmingming 发表于 2019-8-23 11:49

天域至尊 发表于 2019-8-23 11:38
常在河边走,哪能不湿鞋。我是怕了,我征信系统上也没有白条的记录,看网上有些人说,他们金条逾期也有可 ...

为了自己着想 还是按时还款啊不然征信出问题以后麻烦挺多的

yanmingming 发表于 2019-8-23 12:50

天域至尊 发表于 2019-8-23 11:57
对的,关键是有时候一不小心忘了,金条没有快逾期的提醒,只会在还款日前两天给你发个短信,逾期了也不会 ...

这太霸道了啊各大银行信用卡逾期都没这么严格
页: [1] 2
查看完整版本: Python编程两个常见漏洞以及征信碎碎念