.idea 文件夹泄露,可能引起敏感数据泄露。下图是测试 扫描器发现的一处漏洞
我写了一个脚本,用来自动下载可能的敏感文件。有兴趣的同学可以试试
.idea 文件夹泄露,可能引起敏感数据泄露。下图是测试 扫描器发现的一处漏洞
我写了一个脚本,用来自动下载可能的敏感文件。有兴趣的同学可以试试
爱奇艺安全团队在北京招聘开发工程师,欢迎投递简历。 相应的开发实习生职位,也依然可以申请。
负责内部安全服务的功能开发、持续优化
视面试结果
lijiejie[at]qiyi.com
爱奇艺安全 招聘安全实习生: 渗透测试、安全开发、代码审计
实习地址: 北京-海淀-中关村
渗透测试: 理解常见安全漏洞,会使用常见工具,有漏洞挖掘、进一步渗透的基本思路
安全开发: 熟练掌握 Go/Python/Java 中的一门语言,有一定的攻防基础知识。 参与 HIDS、扫描器、堡垒机等内部服务开发
代码审计: 白盒代码扫描report review,参与持续优化内部的代码扫描服务
请投递简历至 lijiejie[at]qiyi.com
Python父进程通过logging.basicConfig,设定日志文件的路径,子进程再次通过basicConfig设定另一个新的路径。这个操作,在Windows系统和Linux下表现不一致。
区别在于,Windows下将打开不同的文件句柄,写入2个不同的文件 。而在Linux下,则config看起来无效,子进程和父进程使用同一个文件描述符,第二次config无效。(解决的方法文末补充)
import logging
import os
import multiprocessing
import threading
cwd = os.getcwd()
def set_log(log_file_path):
logging.basicConfig(filename=log_file_path,
filemode='a+',
format='%(message)s',
level=logging.INFO)
logging.info('%s: %s' % (logging.root, log_file_path) )
def test_func():
set_log(os.path.join(cwd, 'test2.log'))
class TestThread(threading.Thread):
def __init__(self):
p = multiprocessing.Process(target=test_func)
p.start()
if __name__ == '__main__':
set_log(os.path.join(cwd, 'test.log'))
TestThread()
这个程序在Windows的执行结果是
logging.RootLogger object at 0x0000000002610C18>: C:\test\test.log
logging.RootLogger object at 0x000000000276C7B8>: C:\test\test2.log
可以看到,日志写入了两个不同的文件。并且Logger ID不一样
在Linux下的执行结果是
[root@cyberivy-web-dev002-whdx test]# ls *.log
test.log
[root@cyberivy-web-dev002-whdx test]# cat test.log
: /root/test/test.log
: /root/test/test2.log
两个进程的日志都写到了test.log中。 并且 Logger ID 和 fd是一样的
子进程在set_log之前,先 reload(logging), test_func变成
def test_func():
reload(logging)
set_log(os.path.join(cwd, 'test2.log'))
修改之后,在Linux执行,日志同样会写入不同的文件
[root@cyberivy-web-dev002-whdx test]# ls *.log
test2.log test.log
[root@cyberivy-web-dev002-whdx test]# cat *.log
logging.RootLogger object at 0x1df28d0>: /root/test/test2.log
logging.RootLogger object at 0x1d80bd0>: /root/test/test.log
昨天群里,大家聊到了一个面试题,关于 浅复制 (shallow copy )的。 相信很多人都写过类似的错误代码。
items = list(range(1, 11)) while items: tmp_items = items # tmp_items referred to items for i in tmp_items: items.remove(i) print items
通过一个for loop遍历删除列表中的元素(这里示例1到10)。最终执行的结果是
[2, 4, 6, 8, 10] [4, 8] [8] []
可以看到,每次循环,只有奇数位的数字被从列表移除了,偶数位的数字被保留下来。
这跟列表是一个链表结构有关系。
第二,这里的 tmp_items = items 是浅复制, tmp_items只是items的引用
迭代器在遍历列表的时候,从head开始
head -> pointer1 -> 1 pointer2 -> 2 ... pointer10 -> 10
循环开始,首先删除第一个元素(1),此时,对应的head指针移动到指针2
head -> pointer2 -> 2 ... pointer10 -> 10
继续遍历时, head->next 指向的是已经是元素3。 于是,最终只有奇数位置的元素被移除了。
招聘安全实习生一名,欢迎投递简历。
地点: 北京 – 中关村
技能要求:
1. 理解常见web漏洞:SQL注入、XSS、CSRF、SSRF、上传漏洞、代码(命令)执行、常见业务逻辑缺陷等
2. 熟练使用常见的安全工具: awvs sqlmap nmap burpsuite appscan等
3. 有一定的渗透测试经验,了解常见漏洞的测试流程、利用、修复
4. 掌握Java 或 C++基础。 熟练使用一门脚本语言Python、Go等, 熟悉 Linux(shell scripts)。
5. 有Android/iOS客户端漏洞挖掘经验可加分, 熟悉主流web框架可加分, 有代码安全审计经验可加分
6. 良好的沟通能力,自我驱动学习,善于用代码解决问题
实习期间工作内容:
渗透测试(挖漏洞) 白盒代码审计 安全服务开发
投递邮箱:
python -c “import base64; print base64.b64decode(‘bGlqaWVqaWVAcWl5aS5jb20=’)”
QQ:
echo OTE4MjI2Mwo=|base64 -d