首页 > 编程语言 >php网页开发和漏洞寻找

php网页开发和漏洞寻找

时间:2024-01-27 17:44:25浏览次数:26  
标签:网页 数据库 拓展 漏洞 mysqli 操作 php 连接

前言: 放寒假了,之前一直在准备期末,没什么时间学技术和写博客,最近有空了会写一些。

本篇博客将接着之前的内容介绍利用php搭建博客的一些步骤,从网页开发角度分析一些常用漏洞的产生。

学安全首先要会开发

1.1操作数据库

php作为一门编程语言,是无法直接与数据库进行交互的,想要进行该操作需要使用php提供的数据库拓展,Php

提供了许多的数据库拓展,比较常见的有mysql拓展,mysqli拓展,下文将介绍mysqli拓展的使用。

想要使用该拓展首先需要在php.ini文件中打开

想要在php中操作数据库,分三个部分,1 连接数据库,2 操作数据库,3 断开连接

<?php
$link = mysqli_connect("localhost", "root", "root");
mysqli_select_db($link, "mysql");
$sql = "select * from help_topic";
$query = mysqli_query($link, $sql);
while ($row = mysqli_fetch_array($query)) {
	echo $row['name'];
	echo "</br>";
}
mysqli_close($link);
?>

1. mysqli_connect()函数用于与数据库建立连接,传入的分别是服务器地址(可以是ip地址或者域名),数据库账号,

数据库密码,数据库名(可省略),操作选项(可省略) 该函数的返回值是一个 MySQLi 连接对象,用于后续的数据库

操作和数据库关闭过程。

**2. **mysqli_select_db() 该函数用于选择数据库,分别传入连接对象和数据库名两个参数。

**3. ** mysqli_query() 该函数用于执行mysql语句,对数据库进行操作,传入的值分别是连接对象和mysql操作语

句,该函数在查询成功后返回一个mysqli对象,查询失败则返回false. 查询完成后,如果想要输出结果,则需要用到

mysqli_fetch_array,该函数在结果集中取一行作为关联数组,每次执行后向下一行,直到结果集末尾。

数组的索引就是表的栏名,比如id,name,等

4. mysqli_close() 用于关闭连接,传入的值是连接对象。

通过上述的四个的步骤,就完成了一次数据库操作。

如果每次进行数据库操作都要来一遍这四种操作就未免过于麻烦,可以利用数据库配置文件进行简化

即,将连接数据库的语句单独放在另一个创建的config.php中,然后再在原文件中包含config.php即可

由于数据库配置文件中往往包含数据库的账号和密码,所以可以在此方向进行攻击

如果我们要根据条件选择不同的内容,可以这样做

<?php
include("config.php");
$sql = "select * from help_topic where help_topic_id= '" . $_GET['id'] . "'limit 1;";
$query = mysqli_query($link, $sql);
while ($row = mysqli_fetch_array($query)) {
	echo $row['name'];
	echo "</br>";
}
mysqli_close($link);
?>

通过get传参然后进行查询,有没有觉得很眼熟,没错,这就构成了最基础的sql注入。

1.2 其他数据库操作

在过去,无论是关于sql注入还是前文的操作,只用了Mysql中的select操作,我们对数据库还存在其他的操作。

标签:网页,数据库,拓展,漏洞,mysqli,操作,php,连接
From: https://www.cnblogs.com/rpup/p/17991714

相关文章

  • 域控漏洞瞎讲
    域控漏洞初探(乱讲)操作半天shell呢?你别弄了,去机房插U盘吧简单记录一下域控漏洞的原理MS14-068原理1.AS通过PAC校验权限2.在AS认证的时候,可以将include-PAC设置为false,得到一个不含pac的tgt3.自己在tgt外加上md5“签名”的pac,将此数据包发送给tgs4.TGS会使用md5验证pac,同时......
  • 文件包含漏洞
    文件包含漏洞文件包含漏洞简介文件包含漏洞基础介绍文件包含函数的参数没有经过过滤或者严格的定义,并且参数可以被用户控制,这样就可能包含非预期的文件。如果文件中存在恶意代码,无论文件是什么类型,文件内的恶意代码都会被解析并执行。文件包含漏洞可能会造成服务器的网页被篡......
  • thinkphp8开发简要流程
    安装,根据PHP的版本安装适合的版本composercreate-projecttopthink/thinktp开启多应用模式composerrequiretopthink/think-multi-app创建应用phpthinkbuildadminnginx配置伪静态,把下面的内容保存为nginx.htaccess文件放到应用入口public文件的同级目录下location......
  • php session反序列化
    关于SessionSession,在汉语中表示通话、会话、对话(期)、话路[对谈时间]的意思,其本来的含义一个终端用户与交互系统进行通信的时间(间隔),通常是指从注册(进入系统)到注销(退出系统)之间所经过的时间。比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个Session......
  • 【pwn】axb_2019_fmt32 --格式化字符串漏洞进一步利用
    照例检查程序保护情况堆栈不可执行,再导入ida看一下代码逻辑如上图此处代码有格式化字符串漏洞先找出偏移可以发现偏移是8那么我们可以利用printf泄露出libc地址,如何修改printf_got表为system的地址,然后再传入/bin/sh就可以getshellexp:frompwnimport*fromLibcSearc......
  • Spring Boot框架actuator配置不当漏洞
    漏洞描述【安全预警】ApacheDubbo远程代码执行漏洞、SpringBoot配置不当及微软1月补丁漏洞部分网站数据库存在SpringBoot配置不当漏洞,利用网站数据库SpringBoot漏洞可读取Redis数据库用户名和密码。连接数据库可查询掌握运维综合服务平台管理员口令哈希。漏洞等级......
  • 使用CrawlSpider类抓取纵横小说网页内容
    一:根据page页面解析出book_url二:解析来的response(book_url)并不是交给parse_item方法,而是交给了上面的rules处理,然后通过LinkExtractor提取静态页面数据url,url形成一个新的请求交给引擎,引擎一顿操作给到callback=‘parse_item’回调函数三:最后交给parse_item   ......
  • 通付盾获2023年移动互联网APP安全漏洞治理优秀案例
    获工信部CAPPVD漏洞库技术支撑单位为深入贯彻落实《网络产品安全漏洞管理规定》,规范移动互联网App产品安全漏洞发现、报告、修补和发布等行为,提升网络产品提供者安全漏洞管理意识,探索最前沿的漏洞挖掘技术发展趋势和创新应用,在上级主管部门指导支持下,1月16日,中国软件评测中心(工业......
  • PHP GC回收机制详解
    前言GC的全称是GarbageCollection也就是垃圾回收的意思,在PHP中,是使用引用计数和回收周期来自动管理内存对象的,当一个对象被设置为NULL,或者没有任何指针指向时,他就会变成垃圾,被GC机制回收掉。环境配置php.ini终配置好xdebug,xdebug_debug_zval是用来查看容器变量内容的函数<?ph......
  • thinkphp 验证器
    方法一验证器的使用单独抽离成一个文件declare(strict_types=1);namespaceapp\validate;usethink\Validate;classValidateAllextendsValidate{/***定义验证规则*格式:'字段名'=>['规则1','规则2'...]**@vararray......