예제 #1
0
        public override void Attack()
        {
            Form form = null;

            while ((form = GetNotVistedForm()) != null)
            {
                if (HasReflectedResults(form))
                {
                    _xAttack           = new XAttack();
                    _xAttack.AttackId  = _sharedResource.SharedAttack.Id;
                    _xAttack.FormId    = form.Id;
                    _xAttack.StartTime = DateTime.Now;

                    XAttackParam[] attackParams = ComputeAttackParams(form);
                    for (int i = 0; i < attackParams.Length; i++)
                    {
                        _xAttack.XAttackParams.Add(attackParams[i]);
                    }

                    _xAttack.AttackContent = CreateAttackVector(attackParams, form);
                    _xAttack.ResponsePage  = DoAttack(form, _xAttack.AttackContent);
                    _xAttack.FinishTime    = DateTime.Now;

                    DataLayer.Save(_xAttack);
                }
            }
        }
예제 #2
0
 public EncodedXssAttackAnnounceItem(XAttack xAttack, EncodedXssAttackStatus attackStatus, XssAttackingSharedReource attackingSharedResource, string description, DateTime dateTime)
     : base(attackingSharedResource, description, dateTime)
 {
     this.XAttack      = xAttack;
     this.AttackStatus = attackStatus;
 }
예제 #3
0
 public static void Save(XAttack xAttack)
 {
     throw new NotImplementedException();
 }