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

申请网站建设经费的报告网站拥有者查询

申请网站建设经费的报告,网站拥有者查询,怎么做网站的icp备案信息,南京制作网站优化上篇已经讲过client端的CODE这部分code主要用来接收client端发送来的日志,从数据库中读取reglar然后去匹配.如果出现匹配则判断为XSS***.server端的SOCKET接收用了coro相关的模块.配置文件仿照前一篇博客读取即可.#!/usr/bin/perl use warnings; use strict; use AnyEvent; use… 上篇已经讲过client端的CODE这部分code主要用来接收client端发送来的日志,从数据库中读取reglar然后去匹配.如果出现匹配则判断为XSS***.server端的SOCKET接收用了coro相关的模块.配置文件仿照前一篇博客读取即可.#!/usr/bin/perl use warnings; use strict; use AnyEvent; use AnyEvent::DBI::MySQL; use Config::Tiny; use FindBin; use utf8; use Coro; use Coro::Socket; use Coro::Handle; use lib $FindBin::Bin/../module; my $server_config_file $FindBin::Bin/../etc/config.ini; my $config Config::Tiny-new; my $server_config $config-read($server_config_file); my $server_log_info $server_config-{server_config_info}; my $username $server_log_info-{username}; my $password $server_log_info-{password}; my $port $server_log_info-{server_port}; my $host $server_log_info-{host}; my $database $server_log_info-{database}; my $server_ip $server_log_info-{server_ip}; $|; print Start listening Port:$port, \n; my $s Coro::Socket-new( LocalAddr $server_ip, # 创建一个侦听socket LocalPort $port, Listen 5, Proto tcp ) or die $; my coro; while (1) { my ( $fh, $peername ) $s-accept; next unless $peername; doit($fh); } sub doit { my $dbh AnyEvent::DBI::MySQL-connect( dbi:mysql:database$database, $username, $password ); my $fh shift; push coro, async { $fh-autoflush(1); while ( my $line $fh-readline() ) { log_regex_do( $line, $dbh ) } $fh-close; } } sub log_regex_do { my ( $log, $dbh, $cv ) _; my ( $log_type, $url, $source, $local, $date, $option, $offer, $user ) $log ~ /t:(.*)\|me:(.*)\|so:(.*)\|lo:(.*)\|date:(.*)\|opt:(.*)\|of:(.*)\|u:(.*)$/; my $log_class type_result( $log_type, $dbh, $cv ); if ( defined bool( $local, $user, $dbh ) ) { my ($log_result) log_result( $url, $dbh ); if ($log_result) { get_result_db( $log_type, $log_result, $url, $source, $user, $date, $option, $offer, $dbh ); } } } sub type_result { my ( $method, $dbh ) _; my $cvs AnyEvent-condvar; my $type; $dbh-do(set names utf8); $dbh-selectall_hashref( select * from w3a_log_monitor_type, id, sub { my ($ary_ref) _; for my $id ( keys %$ary_ref ) { $type $ary_ref-{$id}-{id} if ( $method eq $ary_ref-{$id}-{log_type_name} ); } $cvs-send; } ); $cvs-recv; return $type; } sub bool { my ( $local, $user, $dbh ) _; my $cv AnyEvent-condvar; my $count; # $dbh-do(set names utf8); $dbh-selectcol_arrayref( select * from w3a_log_monitor where task_name$user and task_url$local, sub { my ($ref_ary) _; $count $ref_ary; $cv-send; } ); $cv-recv; return $count; } sub get_result_db { my ( $type, $method_id, $method_url, $method_source, $method_user, $method_date, $method_option, $method_offer, $dbh ) _; my $cv AnyEvent-condvar; my $sth $dbh-prepare( insert into w3a_log_monitor_attack ( method_name, method_url, attack_source, attack_user, attack_date, attack_option, attack_offer, log_type )values(?,?,?,?,?,?,?,?)); $sth-bind_param( 1, $method_id ); $sth-bind_param( 2, $method_url ); $sth-bind_param( 3, $method_source ); $sth-bind_param( 4, $method_user ); $sth-bind_param( 5, $method_date ); $sth-bind_param( 6, $method_option ); $sth-bind_param( 7, $method_offer ); $sth-bind_param( 8, $type ); $sth-execute( sub { my ($rv) _; $cv-send; } ); $cv-recv; } sub log_result { my ( $method, $dbh ) _; my $cv AnyEvent-condvar; my $sum_dbh $dbh; my target_id; $dbh-do(set names utf8); $dbh-selectall_hashref( select * from w3a_log_method, id, sub { my ($ary_ref) _; for my $id ( keys %$ary_ref ) { $cv-begin; my $switch $ary_ref-{$id}-{method_switch}; unless ( $switch 0 ) { if ( $method ~ /$ary_ref-{$id}-{method_regex}/i ) { print Match regular is: , $ary_ref-{$id}-{method_regex}, \n; push target_id, $ary_ref-{$id}-{id}; } } $cv-end; } } ); $cv-recv; attack_update( $_, $dbh ) for target_id; return target_id; } sub attack_update { my ( $id, $dbh ) _; my $cv AnyEvent-condvar; $dbh-selectcol_arrayref( select attack_sum from w3a_log_method where id$id , sub { my ($ref_ary) _; my $sum $ref_ary-[0] 1; $dbh-do( update w3a_log_method set attack_sum$sum where id$id); $cv-send; } ); $cv-recv; }  使用方法如下:1.服务端监控2.客户端监控3.进行XSS模拟 4.查看服务端状态XSS之前的数据库查询状态 XSS之后的数据库查询状态   转载于:https://blog.51cto.com/mcshell/1362689
http://www.huolong8.cn/news/21307/

相关文章:

  • 网站跳转至手机端如何做如何将网站开发成微信小程序
  • 山东经济建设网站网站开发用px还是rem
  • 自己网站wordpress主题怎么网站开发过程的需求分析
  • 网站价值如何评估昌吉建设网站
  • 智慧城市网站建设黄骅做网站价格
  • 手机网站建设服务合同范本做网站下载那个数据库好
  • 网站开发实验报告开源社区的发展前景
  • flash网站建设技术是什么怎么申请免费国内免费网站
  • 阿里云怎么上传网站外链工具在线
  • 做吃的网站wordpress nginx 固定链接
  • 手机版万能视频提取器乐陵seo优化推广
  • 昆明公司网站制作查征信怎么查 个人免费查询
  • vultr 做网站mvc做的游戏网站
  • 利用网络媒体营销来做电商网站论文广州 环保 凡人网站建设
  • 安卓手机建设网站怎么注册一个公司网站
  • 电商网站开发数据库表个人网页设计作品html
  • 建筑之家绵阳seo
  • 网站到期请续费网站开发东莞
  • 北京市优化网站网站建设维护面试
  • 呼市网站优化网页设计页面图片
  • 百度站长网站提交宁波有做网站的地方吗
  • 校园网站html模板自己创建公众号免费吗
  • 网站开发的心得内蒙古建设安全监督站的网站
  • 怎么开通个人网站江宁住房和城乡建设局网站
  • 沧州企业网站制作直播网站排名
  • 南通通明建设监理有限公司网站如何设计一个简洁的logo
  • 建设零食网站的可行性上海响应式网页建设
  • 做网站带源码软件-dwdw网站制作的源代码
  • 海珠网站建设制作server2008部署网站
  • 网站如何做担保交易平台珠宝网站设计方案