第二届江西省高校网络安全技能竞赛之AWD参赛小结

2019年12月6日,第二届江西省高校网络安全技能竞赛随着致辞与颁奖的结束落下了帷幕。

此次AWD比赛感觉上偏向于Web渗透或者说是PHP代码审计,前两台服务器开放端口基本只有22、80和3306。第三台情况未知,毕竟我们队能力有限无暇顾及,想来最后应该没有一个队伍解出第三题。

而我主要负责第二题,这里就对此次参赛做个简单的总结。

环境

Linux系统基本信息如下:

$ uname -a
Linux ubuntu 5.3.0-050300rc4-lowlatency #201908111734 SMP PREEMPT Sun Aug 11 21:41:13 UTC 2019[......]

继续阅读

Python3创建virtualenv环境时提示vcruntime140.dll丢失

环境:

  • Windows 7 SP1
  • Python 3.7.0
  • virtualenv 16.6.2

 

使用 virtualenv venv  命令创建虚拟环境的时候弹框提示计算机中丢失 VCRUNTIME140.dll 。查了一下,需要安装Microsoft Visual C++ 2015 Redistributable

安装完后再次运行,结果相同。于是到 C:\Windows\System32  中找了找,发现目录里是有 VCRUNTIME140.dll 文件的。

重启了一下电脑,也是如此。

 

根据输出和弹框的[……]

继续阅读

与Python作用域有关的问题

value = 1

def foo():
    value = 2

foo()

print value

与上面代码类似的例子想必大家再熟悉不过了。这是一个阐述作用域的例子,它最终输出1。

代码中value 是一个全局变量,函数foo() 可以访问到这个全局变量,但不能改变这个全局变量指向的对象。所以,函数内对value 的赋值操作实际上创建的一个局部变量。

 

下面这段代码是我碰到的一个有意思的情况。

value = 1

def foo():
    if value:
        value = 0

foo()
pr[......]

继续阅读

Flask中使用reCAPTCHA

实际上Flask-wtf中已经整合了Google的reCAPTCHA。即

flask_wtf.recaptcha.RecaptchaField

,它内置了一个

Recaptcha

validator。

你只需配置一下public_key(RECAPTCHA_PUBLIC_KEY)和secret_key(RECAPTCHA_PRIVATE_KEY):

app = Flask(__name__)

app.config["RECAPTCHA_PRIVATE_KEY"] = 'xxxxxxxxxxxxxxxxxxxxxx'
app.config["RECAPTCHA_PUBLIC_KEY"[......]

继续阅读