UniGUI XSS Payload Vulnerability - Protection
1 min read

UniGUI XSS Payload Vulnerability - Protection

UniGUI XSS Payload Vulnerability - Protection

Merhaba,
daha önceden keşfetmiş olduğum ve uygulamanın işleyişini bozan bir XSS tipinde gerektiğinde Session Hijacking'e kadar varabilecek bir yüksek riskli olmayan bir açık mevcuttu. Bu tip XSS denemelerine karşı bir fonksiyon oluşturdum. Standart kullanılan tagları herhangi bir kayıt oluşturma veya veritabanına insert/update aşamasında izin vermesi açısından önlem niteliğindedir.

Açık hakkında detaylı bilgiye buradan ulaşabilirsiniz --> Tıklayınız

Fonksiyon:

function TMainForm.protectionXSSforUniGUI(Value: String): Boolean; {dev. halil han badem}
const
  blockTags: Array[0..11] of AnsiString=('<script>',
  '<embed>',
  '<applet>',
  '<frameset>',
  '<form>',
  '<iframe>',
  '<meta>',
  '<layer>',
  '<object>',
  '<img>',
  '<link>',
  '<div>');
 
  blockJS: Array[0..6] of AnsiString=('src=',
  'href=',
  'eval()',
  'expression()',
  'vbscript:',
  'url=',
  'url()');
var
 I: Integer;
begin
  Result := False;
  for I := 0 to Length(blockTags) - 1 do
    begin
      if ContainsText(Value, blockTags[I]) then
      begin
        Result := True;
      end;
    end;
 
  for I := 0 to Length(blockJS) - 1 do
    begin
      if ContainsText(Value, blockJS[I]) then
      begin
        Result := True;
      end;
    end;
end;

Tüm projeye erişmek için Github'ta ki repo üzerinden erişebilirsiniz --> Tıklayınız

İyi çalışmalar.