K4ys0n's Blog

Just keep moving!

DVWA靶机学习——CSRF(跨站请求伪造)

这个系列是学习DVWA靶机的。今天学习CSRF的Low、Medium、High、Impossible级别。

0x00 CSRF跨站请求伪造 CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。CSRF与XSS最大的区别就在于,CSRF并...

DVWA靶机学习——Command Injection(命令执行)

这个系列是学习DVWA靶机的。今天学习Command Injection的Low、Medium、High、Impossible级别。

0x00 Command Injection 因为本次学习DVWA靶机部署在windows下,底层系统是中文GBK编码,需要修改一处配置,不然会出现中文乱码。 在…/DVWA/dvwa/includes目录下,有个dvwaPage.inc.php文件,打开文件在277行修改,将UTF-8改为GBK或者GB2312即可。 Command Injection,即命令注入,是指通过提交恶意构...

DVWA靶机学习——Brute Force(爆破)

这个系列是学习DVWA靶机的。今天学习Brute Force的Low、Medium、High、Impossible级别。

0x00 Brute Force 即暴力破解,需要在DVWA Security中设置各种等级如Low、Medium、High和Impossible等。然后默认账号是admin,默认密码password,我们这里只假设知道账户名admin,密码需要用字典爆破。 在Brute Force中登录成功的话,页面会多显示一下这行 Welcome to the password protected ...

新BugKu平台web题writeup(下)

新Bugku平台,又名newbugku,打靶CTF,CTF_论剑场。包含题目web25、web8、web22、web27、web12、web24、web10、web19、web16。

web25 打开链接后看到有个下载的按钮,点击进去,点下载但没有反应,查看源码,源码中有个/2/ziidan.txt的链接,但是跳转过去是404,随便是了一下把/2删掉,直接跳转/ziidan.txt发现返回了下面这个东西: asdhjk dakjhkjwq adkjhsdk fkdjknbv dkajshdlj hjsjnb sdalkj flagf sfksjhwqe dsalkjlkq...

新BugKu平台web题writeup(上)

新Bugku平台,又名newbugku,打靶CTF,CTF_论剑场。包含题目web26、web1、web9、流量分析、web2、web5、web6、web11、web13、日志审计、web18、web20、web3、web4、web15、web14、web21、web23、web7。

web26 <?php $num=$_GET['num']; $str=$_GET['str']; show_source(__FILE__); if (isset($num)&&isset($str)) { if (preg_match('/\d+/sD',$str)) { echo "vagetable hhhh"; exit...

设计模式(十)反模式

根据《Python设计模式(第2版)》一书的学习,记录下来的笔记。本篇博客是反模式,是指程序设计过程中不应该做的。

前言 反模式不同于设计模式,它是说明软件设计或开发的时候不应该做什么,换言之,应该尽量避免的事。 1. 反模式简介 软件设计有一些不良设计的主要表现: 不动性:以这种方式开发的应用程序非常难以重用。 刚性:以这种方式开发的应用程序,任何小的修改都会导致软件的太多部分必须进行相应的改动。 脆弱性:当前应用程序的任何更改都会导致现有系统变得非常容易崩溃。 粘滞性:由于架构层面...

设计模式(九)状态设计模式

根据《Python设计模式(第2版)》一书的学习,记录下来的笔记。本篇博客是状态设计模式,是一种行为型模式。

前言 行为模式关注的是对象的响应性,它们通过对象之间的交互以实现更强大的功能。 状态设计模式也是一种行为模式。 1. 状态设计模式的定义 在状态模式中,一个对象可以基于其内部状态封装多个行为,可以看作是在运行改变对象行为的一种方式。 举个例子:收音机具有AM/FM两种调频方式和一个扫描按钮,该按钮可以扫描多个FM/AM频道。它的基本状态已经设定好了,如设为FM,这个时候单 击扫描按钮可以...

设计模式(八)MCV模式

根据《Python设计模式(第2版)》一书的学习,记录下来的笔记。本篇博客是MCV模式,是一种复合模式,把一些设计模式组合起来使用。

前言 通常设计模式不是单独使用的,需要同时使用并加以组合,以实现特定的设计解决方案。 复合模式将两个或更多模式组合成解决常见或普遍性问题的解决方案。复合模式不是同时使用的一组模式,而是一个问题的通用解决方案。 MCV模式就是一种复合模式。 1. MCV模式的基本部分 MCV模式,即模型-视图-控制器模式,包含三个基本部分:模型、视图、控制器。 模型提供数据和业务逻辑(如何存储和查询信...

设计模式(七)模板方法模式

根据《Python设计模式(第2版)》一书的学习,记录下来的笔记。本篇博客是模板方法模式,是一种行为型模式。

前言 模板方法模式是一种行为设计模式,通过一种称为模板方法的方式来定义程序框架或算法。如制作饮料的步骤。 还通过将步骤中的一些实现推迟到子类来帮助定义或定制算法的某些步骤,这也意味着子类可以重新定义自己的行为。 模板方法模式是封装算法。 1. 模板方法模式的适用场景 在多个算法或类实现类似或相同逻辑的时候。 在子类实现算法有助于减少重复代码的时候。 可以让子类利用覆盖实现...

设计模式(六)命令模式

根据《Python设计模式(第2版)》一书的学习,记录下来的笔记。本篇博客是命令模式,是一种行为型模式。

前言 命令设计模式的对象用于封装在完成一项操作时或在触发一个时间时所需的全部信息(包括方法名称、拥有方法的对象、方法参数的值)。 命令模式实际上是封装了调用 举个例子,安装向导。安装向导通过多个步骤或屏幕来了解用户的偏好。当用户使用向导时,用户需要作出某些选择,那么这个向导可以用命令模 式来实现。向导(Command对象),用户在向导的多个步骤中制定的选项存储在Command对象中,当用...