Is it still possible to exploit world-writable SUID or SGID files in Linux by modifying them and then executing them?

On my test machine, when I modify one of the files as a user other than the owner, the SUID and SGID bits become unset. I assume this is because of some security feature being enabled, but is there any way to disable this kind of functionality?

Here's what I have been doing that is giving me this result:

root@pc:/testing# cp /bin/ping ./
root@pc:/testing# chmod a+srwx ping
root@pc:/testing# ls -lha
total 36K
drwxrwxrwx 2 root root 60 Jan 23 22:55 .
drwxr-xr-x 1 root root 280 Jan 23 18:47 ..
-rwsrwsrwx 1 root root 34K Jan 23 22:55 ping

user@pc:/testing$ ls -lha
total 36K
drwxrwxrwx 2 root root 60 Jan 23 22:55 .
drwxr-xr-x 1 root root 280 Jan 23 18:47 ..
-rwsrwsrwx 1 root root 34K Jan 23 22:55 ping
user@pc:/testing$ cat /bin/sh > ping
user@pc:/testing$ ls -lha
total 96K
drwxrwxrwx 2 root root 60 Jan 23 22:55 .
drwxr-xr-x 1 root root 280 Jan 23 18:47 ..
-rwxrwxrwx 1 root root 94K Jan 23 22:56 ping
user@pc:/testing$ ./ping -c whoami
user