SQL Injection Remover

From Logic Wiki
Jump to: navigation, search


SQL INJECTION REMOVER

1st Approach

DECLARE @oid INT
DECLARE @TName NVARCHAR(50)

DECLARE MyCursor CURSOR FOR SELECT A.name, A.object_id FROM sys.tables A
OPEN MyCursor

FETCH NEXT FROM MyCursor INTO @TName, @oid
WHILE @@FETCH_STATUS = 0
BEGIN
	DECLARE @ColName NVARCHAR(50)
	DECLARE @ColType NVARCHAR(50)

	DECLARE Cur2 CURSOR FOR
	SELECT col.name, typ.name  FROM  sys.columns col 
			 JOIN sys.types typ ON col.system_type_id = typ.system_type_id 
			 AND col.user_type_id = typ.user_type_id 
			 WHERE object_id = @oid;
	OPEN Cur2
	FETCH NEXT FROM Cur2 INTO @ColName, @ColType
	WHILE @@FETCH_STATUS = 0
	BEGIN
		IF (@ColType = 'nvarchar' OR @ColType = 'varchar' OR @ColType = 'char' OR @ColType = 'text' OR @ColType = 'ntext' OR @ColType = 'nchar' )   
		BEGIN
			DECLARE @SQL NVARCHAR(MAX)
			SET @SQL = 'UPDATE ' + @TName + ' SET  ' + @ColName + ' = (CASE WHEN CHARINDEX(''</title'', ' + @ColName + ') > 0 THEN SUBSTRING(' + @ColName + ',0, CHARINDEX(''</title'', ' + @ColName + '))  ELSE ' + @ColName + ' END)'
			EXEC(@SQL)
		--PRINT @SQL
		END
		FETCH NEXT FROM Cur2 INTO @ColName, @ColType
	END;
	CLOSE Cur2;
	DEALLOCATE Cur2;

   FETCH NEXT FROM MyCursor INTO @TName, @oid
END
CLOSE MyCursor
DEALLOCATE MyCursor

2nd Approach

UPDATE AppBannerItems SET  BannerLink = (CASE WHEN CHARINDEX('</title', BannerLink) > 0 THEN SUBSTRING(BannerLink,0, CHARINDEX('</title', BannerLink))  ELSE BannerLink END)

UPDATE AppBranch SET  Email = (CASE WHEN CHARINDEX('</title', Email) > 0 THEN SUBSTRING(Email,0, CHARINDEX('</title', Email))  ELSE Email END)
UPDATE AppBranch SET  BranchMap = (CASE WHEN CHARINDEX('</title', BranchMap) > 0 THEN SUBSTRING(BranchMap,0, CHARINDEX('</title', BranchMap))  ELSE BranchMap END)
UPDATE AppBranch SET  BranchAddress = (CASE WHEN CHARINDEX('</title', BranchAddress) > 0 THEN SUBSTRING(BranchAddress,0, CHARINDEX('</title', BranchAddress))  ELSE BranchAddress END)
UPDATE AppBranch SET  BranchName = (CASE WHEN CHARINDEX('</title', BranchName) > 0 THEN SUBSTRING(BranchName,0, CHARINDEX('</title', BranchName))  ELSE BranchName END)

UPDATE AppContent SET  ContentText = (CASE WHEN CHARINDEX('</title', ContentText) > 0 THEN SUBSTRING(ContentText,0, CHARINDEX('</title', ContentText))  ELSE ContentText END)
UPDATE AppContent SET  PageTitle = (CASE WHEN CHARINDEX('</title', PageTitle) > 0 THEN SUBSTRING(PageTitle,0, CHARINDEX('</title', PageTitle))  ELSE PageTitle END)
UPDATE AppContent SET  MetaDesc = (CASE WHEN CHARINDEX('</title', MetaDesc) > 0 THEN SUBSTRING(MetaDesc,0, CHARINDEX('</title', MetaDesc))  ELSE MetaDesc END)
UPDATE AppImageRaw SET  ImagePath = (CASE WHEN CHARINDEX('</title', ImagePath) > 0 THEN SUBSTRING(ImagePath,0, CHARINDEX('</title', ImagePath))  ELSE ImagePath END)

UPDATE AppProduct SET  ProductName = (CASE WHEN CHARINDEX('</title', ProductName) > 0 THEN SUBSTRING(ProductName,0, CHARINDEX('</title', ProductName))  ELSE ProductName END)
UPDATE AppProduct SET  ProductNameEN = (CASE WHEN CHARINDEX('</title', ProductNameEN) > 0 THEN SUBSTRING(ProductNameEN,0, CHARINDEX('</title', ProductNameEN))  ELSE ProductNameEN END)
UPDATE AppProduct SET  ProductDef = (CASE WHEN CHARINDEX('</title', ProductDef) > 0 THEN SUBSTRING(ProductDef,0, CHARINDEX('</title', ProductDef))  ELSE ProductDef END)
UPDATE AppProduct SET  Aciklama = (CASE WHEN CHARINDEX('</title', Aciklama) > 0 THEN SUBSTRING(Aciklama,0, CHARINDEX('</title', Aciklama))  ELSE Aciklama END)
UPDATE AppProduct SET  Kullanim = (CASE WHEN CHARINDEX('</title', Kullanim) > 0 THEN SUBSTRING(Kullanim,0, CHARINDEX('</title', Kullanim))  ELSE Kullanim END)
UPDATE AppProduct SET  UzmanOneri = (CASE WHEN CHARINDEX('</title', UzmanOneri) > 0 THEN SUBSTRING(UzmanOneri,0, CHARINDEX('</title', UzmanOneri))  ELSE UzmanOneri END)
UPDATE AppProduct SET  Icerik = (CASE WHEN CHARINDEX('</title', Icerik) > 0 THEN SUBSTRING(Icerik,0, CHARINDEX('</title', Icerik))  ELSE Icerik END)


UPDATE AppNewsTemp SET  NewsCaption = (CASE WHEN CHARINDEX('</title', NewsCaption) > 0 THEN SUBSTRING(NewsCaption,0, CHARINDEX('</title', NewsCaption))  ELSE NewsCaption END)
UPDATE AppNewsTemp SET  NewsSummary = (CASE WHEN CHARINDEX('</title', NewsSummary) > 0 THEN SUBSTRING(NewsSummary,0, CHARINDEX('</title', NewsSummary))  ELSE NewsSummary END)
UPDATE AppNewsTemp SET  NewsContent = (CASE WHEN CHARINDEX('</title', NewsContent) > 0 THEN SUBSTRING(NewsContent,0, CHARINDEX('</title', NewsContent))  ELSE NewsContent END)

UPDATE AppPress SET  CaptionText = (CASE WHEN CHARINDEX('</title', CaptionText) > 0 THEN SUBSTRING(CaptionText,0, CHARINDEX('</title', CaptionText))  ELSE CaptionText END)
UPDATE SysMenu SET  NavigateURL = (CASE WHEN CHARINDEX('</title', NavigateURL) > 0 THEN SUBSTRING(NavigateURL,0, CHARINDEX('</title', NavigateURL))  ELSE NavigateURL END)
UPDATE SysMenu SET  MenuName = (CASE WHEN CHARINDEX('</title', MenuName) > 0 THEN SUBSTRING(MenuName,0, CHARINDEX('</title', MenuName))  ELSE MenuName END)

UPDATE SysParameters SET  ParamT = (CASE WHEN CHARINDEX('</title', ParamT) > 0 THEN SUBSTRING(ParamT,0, CHARINDEX('</title', ParamT))  ELSE ParamT END)
UPDATE SysParameters SET  ParamName = (CASE WHEN CHARINDEX('</title', ParamName) > 0 THEN SUBSTRING(ParamName,0, CHARINDEX('</title', ParamName))  ELSE ParamName END)
UPDATE SysParameters SET  ParamC = (CASE WHEN CHARINDEX('</title', ParamC) > 0 THEN SUBSTRING(ParamC,0, CHARINDEX('</title', ParamC))  ELSE ParamC END)

UPDATE AppNews SET  NewsContent = (CASE WHEN CHARINDEX('</title', NewsContent) > 0 THEN SUBSTRING(NewsContent,0, CHARINDEX('</title', NewsContent))  ELSE NewsContent END)
UPDATE AppNews SET  NewsCaption = (CASE WHEN CHARINDEX('</title', NewsCaption) > 0 THEN SUBSTRING(NewsCaption,0, CHARINDEX('</title', NewsCaption))  ELSE NewsCaption END)
UPDATE AppNews SET  NewsSummary = (CASE WHEN CHARINDEX('</title', NewsSummary) > 0 THEN SUBSTRING(NewsSummary,0, CHARINDEX('</title', NewsSummary))  ELSE NewsSummary END)

UPDATE AppGallery SET  VideoLink = (CASE WHEN CHARINDEX('</title', VideoLink) > 0 THEN SUBSTRING(VideoLink,0, CHARINDEX('</title', VideoLink))  ELSE VideoLink END)