首页 编程教程正文

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

piaodoo 编程教程 2020-02-22 22:07:19 974 0 python教程

本文来源吾爱破解论坛

本帖最后由 天域至尊 于 2019-8-23 11:15 编辑

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

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


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

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

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


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

1.SQL命令拼接导致的SQL注入漏洞。
相信不少人图省事,直接用了字符串拼接,例如
[Python] 纯文本查看 复制代码

order='select partName from part where partid="'+userInputId+'";'

这个字符串拼接起来是为了根据部件ID查询部件名称,中间的userInputId是用户传入的,但是有没有想过,如果用户传入了这样的数据:
1"union select Password from mysql.user where User="root";--
两个字符串连接起来是什么?
[SQL] 纯文本查看 复制代码
select partName from part where partid="1" union select Password from mysql.user where User="root";-- ";

是不是有点变味了,当然你可以使用用户权限配置让他查不到mysql数据库这么敏感库,但是不见得他不能做别的事,拿到他不该拿到的数据。
这个只算是SQL注入扫盲级别的,高深的手段可以专门去研究。


推荐使用的方式呢,是pymysql中的execute,他有两个参数,前一个是sql命令,后面一个是元组。
所以命令我可以这样写
[Python] 纯文本查看 复制代码
order='select partName from part where partid=%s;'
cursor.execute(order,(userInputId))

这样会在底层处理掉,一般不会出现问题。当然也可以基于白名单的方式来限制输入。


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,尽量减少引用的范围。


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

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7597.html

搜索