Saturday, March 23, 2013

Wordpress un slēptais spams ierakstos

Kaut kā rokoties pa vienu savu wordpress lapiņu, ieraudzīju, ka kodā ir slēptais spams.
Vizuāli raksts ir tieši tāds pats kā bija, savukārt, ja skatamies caur html, tad kods satur vēl kaut kādu nepareizu kodu, kā piemēram, šādu:
<!--maincontentstarts--><div><a href="http://24-downloads.com/goodqualmobile/" style="left: -7437px; position: absolute;" target="_blank" title="android apk">android apk</a> <a href="http://bitmovie.org/fastdownlgames/" style="left: -5120px; position: absolute;" target="_blank" title="games flash online">games flash online</a> <a href="http://citymovie.org/loadbooks/" style="position: absolute; top: -6100px;" target="_blank" title="books online free">books online free</a> </div> <!--maincontentends-->



Sliktākais tas, ka spama saturs atšķirās, atšķirās arī tā garums. Bet labākais ir tas, ka spams vienmēr sākās ar rindu, kuru es pats nebiju nekur izmantojis.
<!--maincontentstarts-->

Nu ko, drošības pēc saglabājam datubāzi un sākam kaut ko darīt:
1) Izdibinam, cik pavisam ir sačakarēti ieraksti:
SELECT count( * ) FROM wp_posts WHERE post_content LIKE '%<!--maincontentstarts-->%'
Drusku sūdi ir - inficēti drusku virs 300 ierakstiem
2) Pēc nepareizā sql koda uzrakstīšanas, nācās likt atpakaļ bakupu, un ņemties no jauna, tāpēc no sākuma parādīšu īsto kodu :)
update wp_posts set post_content = mid( post_content, 1, char_length( post_content ) - char_length( mid( post_content, instr( post_content, '<!--maincontentstarts-->' ) , instr( post_content, '<!--maincontentends-->' ) - instr( post_content, '<!--maincontentstarts-->' ) +25 ) ) ) where post_content like '%<!--maincontentstarts-->%'

Nepareizā versija:

2) Apdeitojam šos pašus ierakstus, tikai ierakstu saglabājam tikai līdz sastopam <!--maincontentstarts--></div>
update wp_posts set post_content = left(post_content,instr(post_content,'')-1)

Pēc šī te izgājiena, man lielākā postu daļa palika bez satura... Bet, par cik, tieši pirms operācijas bakupu biju uztaisījis, tad tas jau lēnītēm nāca uz lokālo datoru...



No comments: